Supported Technologies

LiveCompare is able to connect to and compare data from a list of technologies including PostgreSQL, BDR and Oracle.

In LiveCompare there are 3 kinds of connections:

  • **Initial**  (optional): Used to fetch metadata about pglogical or BDR connections. Required if data connections are pglogical or BDR, and if `replication_sets`  or `node_name`  settings are used. Requires `logical_replication_mode = pglogical`  or `logical_replication_mode = bdr` . It is required to be a pglogical- or BDR-enabled database.
    
  • **Data** : The actual database connection that the tool will connect to perform data comparison. The first connection in the list is used to solve `Table Filter`  and `Row Filter` , and is also used in conjunction with the Initial connection to gather information about BDR nodes. If `logical_replication_mode = bdr`  and `all_bdr_nodes = on` , then LiveCompare will consider all BDR nodes that are part of the same BDR cluster as the `Initial Connection` . In this case it is not necessary 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 will create a schema called `livecompare` , some tables and views. This is required to keep progress and reporting data about comparison sessions. It is required to be a PostgreSQL or 2ndQPostgres connection.
    

Below you can find about versions and details about supported technologies and in which context they can be used in LiveCompare.

Technology

Versions

Connections

PostgreSQL

9.4

Data

PostgreSQL

9.5, 9.6, 10, 11, 12, 13 and 14

Data and/or Output

EDB PostgreSQL Extended

9.6, 10, 11, 12, 13 and 14

Data and/or Output

EDB PostgreSQL Advanced (EPAS)

11, 12, 13 and 14

Data and/or Output

pglogical

2 and 3

Initial, Data and/or Output

BDR

1, 2, 3 and 4

Initial, Data and/or Output

Oracle

11g, 12c, 18c, 19c and 21c

A single Data connection

PgBouncer Support

LiveCompare can be used against nodes through PgBouncer, but only if using pool_mode=session because LiveCompare uses prepared statements on PostgreSQL, and it would not be possible if pool_mode were either transaction or statement .