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 .