Supported Technologies v2

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.

TechnologyVersionsConnections
PostgreSQL10, 11, 12, 13 and 14Data and/or Output
EDB PostgreSQL Extended10, 11, 12, 13 and 14Data and/or Output
EDB PostgreSQL Advanced (EPAS)11, 12, 13 and 14Data and/or Output
pglogical2 and 3Initial, Data and/or Output
BDR1, 2, 3 and 4Initial, Data and/or Output
Oracle11g, 12c, 18c, 19c and 21cA 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.