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, 11, 12, 13, 14, 15, and 16",Data and output
  EDB PostgreSQL Extended (PGE),"10, 11, 12, 13, 14, 15, and 16",Data and output
  EDB PostgreSQL Advanced Server (EPAS),"11, 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 that EDB no longer tests LiveCompare with Oracle 10g. As such, it
is no longer on the list of Oracle versions officially supported with
LiveCompare. Oracle 10g had previously been 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`` .
