Compatibility changes v6.0.0
Upgrading BDR from 4.x to 6.x is possible.
Connection routing
HARP Manager and Proxy and it's replacement, PGD Proxy have been replaced. They are supreceded by the new integrated connection management system.
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 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 );
Lag Control
Similarly to CAMO and Eager, Lag Control configuration was also moved to commit scopes for more flexible durability configuration.
Catalogs
bdr.workers
doesn't show worker-specific info likeworker_commit_timestamp
anymore.bdr.worker_errors
is deprecated and lost most of the info.bdr.state_journal_details
is deprecated and lost most of the info.bdr.event_summary
replacesbdr.worker_errors
andbdr.state_journal_details
with additional info like Raft role changes.- The table
bdr.node_catchup_info
now 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_kind
value inbdr.node_summary
. - All the Raft (consensus) related tables and functions were adjusted to support multiple Raft instances (sub-group Raft).
bdr.node_pre_commit
view and the underlying table was removed, as the information is no longer stored in a table.bdr.commit_decisions
view was added and replaces thebdr.node_pre_commit
one.- Multiple internal autopartition tables were replaced by taskmgr ones, as the mechanism behind it was generalized.
bdr.network_monitoring
view 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.