EDB Postgres Distributed 6.2.0 release notes v6.2.0

Released: 5 December 2025

EDB Postgres Distributed 6.2.0 includes new features, enhancements, and bug fixes focused on improving stability and reliability.

Highlights

  • First release with Postgres 18 support: PGD 6.2.0 introduces support for the newly released PostgreSQL 18, EDB Postgres Extended (PGE) 18, and EDB Postgres Advanced Server (EPAS) 18.
  • Connection Manager enhancements: PGD 6.2.0 introduces significant enhancements to Connection Manager, including LDAP authentication support and improved routing stability that prevents existing client connections from dropping during leader changes.
  • Easier adoption of Transparent Data Encryption (TDE): The pgd node setup and pgd node upgrade commands now include TDE options. This allows simplified adoption of TDE such as single-command conversion of non-TDE nodes to TDE nodes, significantly streamlining adopting TDE when upgrading PGD clusters running older PGE or EPAS versions (prior to v15).

Features

DescriptionAddresses
Added TDE options to pgd node upgrade and pgd node setup commands.

The pgd node upgrade command now supports in-place conversion of a non-TDE PGD node to a TDE-enabled node with the --key-unwrap-command and --copy-by-block options. The pgd node setup command now includes comprehensive options to configure TDE during the initial provisioning of a new cluster node. These new options are: --data-encryption, --copy-key-from, --key-wrap-command, --key-unwrap-command, --no-key-wrap, and --data-encryption-keylen (accepts the AES key length).

Added bdr.stat_receiver_transactions view.

The view provides real-time information on transactions in the receiver pipeline. This view reports on transactions currently being received, sent to writers for processing, and indicates whether a transaction is being streamed to a file or writer, including the writer's application progress.

Added support for LDAP authentication to Connection Manager.

Connection Manager now supports the same LDAP authentication features as PostgreSQL, with the exception that OpenLDAP configuration files and environment variables are not supported.

Added detailed monitoring columns to bdr.writers view.

The bdr.writers view now includes several new columns for enhanced monitoring. It now reports the transaction apply source, the total size of the transaction, the progress of the application, the last change applied, and the upstream LSN corresponding to that last applied change.

Enhancements

DescriptionAddresses
Inferred default superuser value for EPAS cluster setup command.

When provisioning an EPAS cluster, the --superuser option for the pgd node setup command now automatically defaults to enterprisedb unless explicitly specified.

Added Details column to pgd cluster verify --verbose --arch output.

The pgd cluster verify command now includes a Details column in the architecture verification section when using the --verbose option. This column provides specific, detailed information about any issues encountered during the architecture check.

Enhanced pgd node part command for reuse of parting node name.

The behavior of the pgd node part command is modified so it now only waits until the node is renamed (allowing its original name to be reused) and continues the complex parting operation in the background. This enhancement also deprecates the –-no-wait option when all nodes in the PGD cluster are running version 6.2 or above.

Allow reuse of parting node names with bdr.part_node.

The PGD node management interface now allows you to reuse the names of parting nodes even while the parting operation is still in progress. This is accomplished through by setting the new concurrent=true option when calling the bdr.part_node function.

Support for encrypted server side certificates.

Connection Manager now supports the PostgreSQL ssl_passhrase_command option to decrypt the server private key.

53695
Improved PGD database user authentication for pgd node setup.

The command has been enhanced to read user authentication credentials from a password file. This file location is resolved by checking the --dsn global option, the PGPASSFILE environment variable, or the ~/.pgpass file, in that order.

The bdr.prefer_analytics_engine setting now works for Iceberg REST catalogs by using the analytics_write_catalog node group option.

Previously, this setting only applied to PGFS storage locations.

Added --group filter to pgd nodes list and pgd raft show commands.

The --group filter provides the capability to filter the output by a specified data group when administering a multi-group PGD cluster.

Bug Fixes

DescriptionAddresses
Fixed an issue where the pgd node upgrade command failed with an invalid_slots error when upgrading to PostgreSQL 18 or later.

The BDR extension has been updated to improve compatibility with the pg_upgrade utility, which ensures the upgrade process runs cleanly.

Fixed contradictory output for switchover with Connection Manager DSN.

Resolved an issue where the pgd group set-leader command displayed confusing messages of both success and failure. This issue occurred because after the switchover completed successfully, the Connection Manager immediately reset the connection due to the write-leader change.

Fixed unexpected subscription and slot creation involving subscriber-only and witness nodes.

This fix prevents the incorrect creation of both subscriptions and replication slots between subscriber-only nodes and witness nodes. The fix also addresses a problem seen during upgrades from PGD 5.9.0 to 6.2.0 where an unexpected slot was left behind on the witness node.

Improved Connection Manager routing change logic.

Resolved an issue where the Connection Manager dropped existing client connections whenever a write-leader or read-only node routing change occurred. With this fix, client connections are no longer affected by a routing refresh, as long as the PGD node they are currently connected to remains operational.

Fixed an issue whereby a connection is silently dropped in the Connection Manager.

The fix improves the handling of authentication failures in the Connection Manager.

Fixed an issue whereby Connection Manager crashed when full hostname is used in the pg_hba.conf address field.

The fix also corrects the handling of hostname suffixes. Since hostname matching is not supported by the Connection Manager, HBA rules using hostnames or hostname suffixes are now correctly ignored by the Connection Manager, preventing instability.

Fixed writer error could not open temporary file after restart.

This issue occurred when streaming a large transaction, and the writer restarted only to find the temporary file name had been incorrectly freed. The bug was introduced with parallel apply and is resolved now.

53341
Fixed an issue to ensure that the values of node_uuid and node_kind of a node are preserved after joining a cluster in a different PGD version.

This bug caused the node_uuid in system tables (bdr.local_node and bdr.node) to diverge after a full cluster upgrade. The fix ensures that the joining node's UUID and kind are correctly preserved throughout the process.

Allow rename of sequence or schema containing galloc sequences.

Resolved an issue where concurrent operations, such as renaming a sequence or schema containing a galloc sequence, could cause problems with Raft synchronization. The fix introduces a global UUID identifier for each sequence in the bdr.sequence_kind catalog, which remains constant despite any sequence or schema renames.

Added version and distribution checks for physical join in pgd node setup.

The pgd node setup command now performs stricter compatibility checks before allowing a physical join:

  • If the BDR version of the local and remote nodes are not an exact match, the command attempts a logical join instead of a physical join.
  • If the Postgres major version of the local and remote nodes are not the same, the command attempts a logical join instead of a physical join.
  • If the PostgreSQL distribution (flavor) of the local and remote nodes are not the same, the command exits with an error.
Fixed backward compatibility issue for pgd group commands.

Resolved a backward compatibility issue where PGD 6.x CLI commands, such as pgd group show, reported the error No query found for version when invoked against an older PGD 5.x cluster. The fix ensures these commands function correctly across major PGD versions.

Fixed invalid system identifier check for pgd node setup.

Resolved an issue where the pgd node setup command incorrectly reported a mismatch error when validating a valid base backup node of the given remote node.

Handle returned CONTEXT value for bdr.run_on_x functions.

The PGD CLI now adjusts the database connection's verbosity to ignore the CONTEXT value, which previously added noise to the output, especially for errors from bdr.run_on_x functions.

Fixed the bdr.msgb_connect hang by introducing a connection timeout.

Resolved an issue where the bdr.msgb_connect function could hang indefinitely due to a missing network timeout setting. The fix adds a timeout to the function.

53442
Fixed pgd node setup to create a PGD node from an existing data directory.

Resolved an issue which prevented the pgd node setup command from successfully creating and configuring a PGD node using an existing data directory.

Connection Manager now starts and responds on its configured ports on all nodes, even those that are not currently part of a node group with routing enabled.

In these cases, the configuration inherited from the top-level node group is automatically applied.

Fixed a unique constraint violation error that could occur during an UPDATE operation on tables configured with both primary and unique keys.

Previously, an UPDATE conflict with an update_missing resolution (which attempts to insert a new record) did not check for conflicts against existing primary or unique keys, leading to an error. This issue is now fixed by treating the scenario as an insert_exists conflict and applying the appropriate resolution logic.

50539, 51417, 54323
The ALTER TABLE SET pgd.replicate_to_analytics property can now be applied to individual partitions.

This allows for granular control over which partitions replicate data to analytical targets.

Fixed an issue that caused consensus breakage when a duplicate value was assigned to either the analytics_storage_location or analytics_write_catalog settings.