EDB Postgres Distributed 5.8.0 release notes v5.8.0

Released: 22 May 2025

EDB Postgres Distributed 5.8.0 includes a number of enhancements and bug fixes.

Highlights

  • PGD CLI improvements enhance usability and functionality.
  • Additional functions simplify sequence management.
  • Includes a fix for CVE-2025-2506.

Enhancements

ComponentVersionDescriptionAddresses
PGD CLI5.8.0
The --summary and --options flags for pgd node show CLI command.

Add the --summary and --options flags to pgd node show command to filter the output of the pgd node show command. This also maintains symmetry with other show commands.

PGD CLI5.8.0
More GUCs verfied in pgd cluster verify CLI command.

Add the bdr.lock_table_locking and bdr.truncate_locking GUCs to list of GUCs verfied in pgd cluster verify command.

BDR5.8.0
We now ensure that commit scope logic only runs on data nodes.

While commit scope processing does not have any direct affect on non-data nodes, by skipping it altogether we can avoid potentially confusing error messages.

BDR5.8.0
Added bdr.galloc_chunk_info() function to simplify sequences.

The bdr.galloc_chunk_info() function provides information about the chunk allocation for a given sequence. This function returns the chunk ID, the sequence ID, and the chunk size. This function is useful for debugging and understanding how sequences are allocated in BDR.

PGD CLI5.8.0
Improve the CLI debug messages.

Improve the formating of the log messages to be more readable and symmetrical with Postgres log messages.

PGD CLI5.8.0
Added a new column for pgd cluster verify --settings CLI command output.

Add the recommended_value column to the result of the pgd cluster verify --settings command. The column will not be displayed in tabular output but will be displayed in JSON output.

PGD CLI5.8.0
Display sorted output for CLI.

The output for the commands with tabular output will be sorted by the resource name. For the commands that display more than one resource, the output will be sorted by each resource column in order.

BDR5.8.0
Improved pgd_bench error message related to CAMO.

If executed with --mode=camo, but the provided test script is not wrapped in an explicit transaction, pgd_bench will not be able to retrieve the expected transaction_id value. Now the emitted error message contains a hint about a possible missing transaction.

Security Fixes

ComponentVersionDescriptionAddresses
BDR5.8.0
Addressed CVE-2025-2506, which could enable a user with CONNECT access to obtain read access to replicated tables.

An issue, CVE-2025-2506, was discovered in pglogical which is present in later versions of BDR and PGD. The issue could enable a user with CONNECT access to obtain read access to replicated tables.

CVE-2025-2506

Bug Fixes

ComponentVersionDescriptionAddresses
BDR5.8.0
Added "safety nets" for CDC failover.

CDC failover now has additional safety nets to ensure that the consumer does not start replication from a node that is not the creator of the replication slot. This is to prevent data loss or duplicate transactions. The changes also add additional checks to ensure that the consumer does not start replication from a node that does not have the required WAL files to decode the transactions that are missing on the consumer but were included in the initial snapshot that the newly joined node had obtained (physical or logical).

BDR5.8.0
Fixed replication failure with concurrent updates on a non-unique index.

Updated to compare tuples on lookup to ensure it is the same when handling non-unique indexes.

43523, 43802, 45244, 47815, 48007
BDR5.8.0
Improved handling of connection information and password obfuscation.

The shared memory information for connection information may get obfuscated when a password is present and become useless. Instead of reading from there, we are now using the primary_conninfo GUC which is now available on all supported PG versions.

41776
PGD CLI5.8.0
Fixed the CLI pgd cluster show command's behavior with clock drift errors and a degraded cluster.

The pgd cluster show command would exit with an error regarding clock drift if only one node was up and running in a N node cluster, and not show the associated health and summary information. The command now returns output for, health and summary, while reporting an appropriate error for clock-drift.

PGD CLI5.8.0
Fixed the CLI pgd node show command crashing if a non-existent node is given.

The pgd node show command crashed if a non-existent node was given to the command. The command now fails gracefully with an appropriate error message.

PGD CLI5.8.0
Fixed the timestamp parsing issue for pgd replication show CLI command.

The pgd replication show command previously crashed when formatting EPAS timestamps.

47280
BDR5.8.0
Prevent segfault in bdr.taskmgr_set_leader.

The node_name argument to bdr.taskmgr_set_leader is required. The function now throws an appropriate error in case node_name := NULL is passed in.

BDR5.8.0
Improved deadlock avoidance where bdr_init_physical and monitoring queries are running concurrently.

We have replaced TRUNCATEs with DELETEs from all BDR catalogs on a local node drop. This is to avoid deadlock in bdr_init_physical if the user happens to run monitoring queries during node joining / cleaning unwanted source node data.

46952
BDR5.8.0
Ensure a new joiner processes the watermark message in the CATCHUP phase.

Setting nci->min_lsn to XactLastCommitEnd of watermark message Tx to ensure CATCHUP phase finishes on new joiner only after watermark is processed.

BDR5.8.0
Fix Raft leader election timeout/failure after upgrade

Ensure that any custom value set in the deprecated GUC bdr.raft_election_timeoutis applied to its replacement bdr.raft_global_election_timeout.

BDR5.8.0
Ensure that disabled subscriptions on subscriber-only nodes are not re-enabled

During subscription reconfiguration, if there is no change required to a subscription, do not enable it since it could have been disabled explicitly by the user. Skip reconfiguring subscriptions if there are no leadership changes.

46519
BDR5.8.0
Subscriber-only nodes will not take a lock when running DDL

Subscriber-only nodes will no longer attempt to take a lock on the cluster when running DDL. The DDL will be executed locally and not replicated to other nodes.

47233
BDR5.8.0
Fixed deadlock issue in bdr_init_physical.

Fixed deadlock between bdr_init_physical cleaning unwanted node data and concurrent monitoring queries.

46952
BDR5.8.0
Fixed a consistency issue in node join where a joining node could possibly miss some data sent to it from the source node.

Fixed an issue when a new node joining the cluster finishes CATCHUP phase before getting its replication progress against all data nodes. This could have caused a new node to be out of sync with the cluster.