Compatibility changes v5.8.1
Many changes in PGD 5 aren't backward compatible with PGD 4 or PGD 3.7.
Connection routing
HARP Manager doesn't exist anymore. It's been replaced by new connection management configuration.
HARP Proxy is replaced by similarly functioning PGD Proxy, which removes any deprecated features and is configured through connection management configuration.
Commit At Most Once
CAMO configuration is now done through commit scopes. The
bdr.camo_pairs catalog and any related manipulation functions don't exist
anymore. The bdr.enable_camo GUC was removed.
The synchronous_replication_availability GUC doesn't affect CAMO anymore.
Use the DEGRADE ON ... TO ASYNC clause of a commit scope.
Eager All-Node Replication
The global scope no longer exists. To create scope with the same
behavior, use Group Commit.
SELECT bdr.create_commit_scope( commit_scope_name := 'eager_scope', origin_node_group := 'top_group', rule := 'ALL (top_group) GROUP COMMIT (conflict_resolution = eager, commit_decision = raft) ABORT ON (timeout = 60s)', wait_for_ready := true );
The bdr.global_commit_timeout GUC was removed. Use the ABORT ON clause for the
commit scope.
Lag Control
Similarly to CAMO and Eager, Lag Control configuration was also moved to commit scopes for more flexible durability configuration.
Catalogs
bdr.workersdoesn't show worker-specific info likeworker_commit_timestampanymore.bdr.worker_errorsis deprecated and lost most of the info.bdr.state_journal_detailsis deprecated and lost most of the info.bdr.event_summaryreplacesbdr.worker_errorsandbdr.state_journal_detailswith additional info like Raft role changes.- The table
bdr.node_catchup_infonow has the user-consumable viewbdr.node_catchup_info_details, which shows info in a more friendly way. - Witness node is no longer distinguished by the replication sets
it replicates but by using the
node_kindvalue inbdr.node_summary. - All the Raft (consensus) related tables and functions were adjusted to support multiple Raft instances (sub-group Raft).
bdr.node_pre_commitview and the underlying table was removed, as the information is no longer stored in a table.bdr.commit_decisionsview was added and replaces thebdr.node_pre_commitone.- Multiple internal autopartition tables were replaced by taskmgr ones, as the mechanism behind it was generalized.
bdr.network_monitoringview was removed along with underlying tables and functions.- Many catalogs were added and some have new columns, as described in Catalogs. These aren't breaking changes strictly speaking, but we recommend reviewing them when upgrading.