Supported technologies
======================

LiveCompare can connect to and compare data from a list of technologies,
including PostgreSQL, EDB Postgres Distributed (PGD, formerly known as
BDR), and Oracle.

LiveCompare has three kinds of connections:

-  **Initial** (optional): Used to fetch metadata about pglogical or PGD
   connections. Required if data connections are pglogical or PGD, and
   if ``replication_sets`` or ``node_name`` settings are used. Requires
   ``logical_replication_mode = pglogical`` or
   ``logical_replication_mode = bdr`` . A pglogical- or PGD-enabled
   database is required.

-  **Data**: The actual database connection that the tool connects to to
   perform data comparison. The first connection in the list is used to
   solve ``Table Filter`` and ``Row Filter`` , and is also used with the
   ``Initial Connection`` to gather information about PGD nodes. If
   ``logical_replication_mode = bdr`` and ``all_bdr_nodes = on`` , then
   LiveCompare considers all PGD nodes that are part of the same PGD
   cluster as the ``Initial Connection`` . In this case, you don’t need
   to define data connections individually. The fix can be potentially
   applied in all data connections, as comparison and consensus
   decisions work per row.

-  **Output** (mandatory): Where LiveCompare creates a schema called
   ``livecompare`` , some tables, and views. This is required to keep
   progress and reporting data about comparison sessions. It must be a
   PostgreSQL or 2ndQPostgres connection.

The table shows versions and details about supported technologies and
the context in which you can use them in LiveCompare.

.. csv-table::
  :header: Technology,Versions,Possible connections
  :widths: 12,25,15
  :align: left
  :class: longtable

  PostgreSQL,"10[^1], 11[^1], 12, 13, 14, 15, and 16",Data and output
  EDB Postgres Extended (PGE),"10[^1], 11[^1], 12, 13, 14, 15, and 16",Data and output
  EDB Postgres Advanced Server (EPAS),"11[^1], 12, 13, 14, 15, and 16",Data and output
  pglogical,2 and 3,"Initial, data, and output"
  EDB Postgres Distributed (PGD),"1, 2, 3, 4, and 5","Initial, data, and output"
  Oracle,"11g, 12c, 18c, 19c, and 21c",A single data connection

..  Note::
   EDB no longer tests LiveCompare with Oracle 10g. As such, it's no longer on the list of Oracle versions officially supported with LiveCompare. Oracle 10g was previously supported and is expected to continue to work in most cases. However, some limitations may exist. One known limitation is that LiveCompare requires the `comparison_algorithm`  parameter to be set to `full_row`  (for example, `comparison_algorithm = full_row` ).

PgBouncer support
-----------------

You can use LiveCompare against nodes through PgBouncer. However, you
must use ``pool_mode=session`` because LiveCompare uses prepared
statements on PostgreSQL, which isn’t possible when ``pool_mode`` is
either ``transaction`` or ``statement`` .
