EDB Postgres Distributed 5.4.0 release notes v5
Released: 05 Mar 2024
EDB Postgres Distributed version 5.4.0 is a minor version of EDB Postgres Distributed.
Recommended upgrade
We recommend that all users of PGD 5 upgrade to PGD 5.4. See PGD/TPA upgrades for details.
Highlights of EDB Postgres Distributed 5.4.0
Highlights of this 5.4.0 release include improvements to:
- Group Commit, aiming to optimize performance by minimizing the effect of a node's downtime and simplifying overall operating of PGD clusters.
apply_delay
, enabling the creation of a delayed read-only replica for additional options for disaster recovery and to mitigate the impact of human error, such as accidental DROP table statements.
Compatibility
EDB Server version compatibility
This version requires the recently released Postgres versions 14.10, 15.4, or 16.1 (or later) of EDB Postgres Advanced Server or EDB Postgres Extended Server. No such restrictions exist for PostgreSQL Server.
Package managers on Debian, RHEL, and SLES pull in the required EDB Postgres Advanced Server or EDB Postgres Extended upgrades with an upgrade of EDB Postgres Distributed.
Features
Component | Version | Description | Addresses |
---|---|---|---|
BDR | 5.4.0 | PGD now automatically detects and synchronizes all available nodes to the furthest ahead node for transactions originating from failed or disconnected node. | |
BDR | 5.4.0 | PGD now automatically resolves pending Group Commit transactions when the originating node fails or disconnects, ensuring uninterrupted transaction processing within the cluster. | |
BDR | 5.4.0 | Added ability to set the apply_delay group option on subgroups, enabling adding of delayed subscriber-only nodes. | |
BDR | 5.4.0 | Loading data using EDB*Loader (except direct mode) is now supported. |
Bug fixes
Component | Version | Description | Addresses |
---|---|---|---|
BDR | 5.4.0 | Fixed memory leaks when running a query on some or all nodes. | |
BDR | 5.4.0 | Resolved an issue of high CPU usage for consensus processes. | RT97649 |
BDR | 5.4.0 | Improved WAL retention logic when a part_node occurs. | |
BDR | 5.4.0 | Witness nodes will now automatically not synchronize structure when joining a group. | |
BDR | 5.4.0 | bdr.create_node() / bdr.alter_node() now give a hint when an invalid node kind is used. | |
BDR | 5.4.0 | Fixed transactions PREPARE/COMMIT/ABORT order with Parallel Apply enabled. | |
BDR | 5.4.0 | DDL replication now takes into account more of the Postgres configuration options that are set in the original session or transaction to provide more consistent results of the DDL execution. Added standard_conforming_strings , edb_redwood_date , default_with_rowids , and check_function_bodies . | |
BDR | 5.4.0 | Improved pgd_bench cluster initialization and command line help output. | |
BDR | 5.4.0 | Restoring a node group from a consensus snapshot now correctly applies option changes (number of writers, streaming, and apply_delay) to local subscriptions. | |
BDR | 5.4.0 | Fixed debug logging of pg_ctl enabling output capture for debugging purposes in bdr_init_physical . | |
BDR | 5.4.0 | Fixed assertion failure when TargetColumnMissing conflict occurs in a Group Commit transaction. | |
BDR | 5.4.0 | Fixed detection of UpdateOriginChange conflict to be more accurate. | |
BDR | 5.4.0 | Added support for timeout for normal Group Commit transaction. | |
BDR | 5.4.0 | Fixed error handling in writer when there are lock timeouts, conflicts, or deadlocks with and without Group Commit transactions. | |
BDR | 5.4.0 | Now allow the origin of Group Commit transactions to wait for responses from all the required nodes before taking an abort decision. | |
BDR | 5.4.0 | Eager transactions abort correctly after Raft was disabled or not working and has recovered. | RT101055 |
BDR | 5.4.0 | Increased default bdr.raft_keep_min_entries to 1000 from 100. | |
BDR | 5.4.0 | Now allow the origin of Group Commit transactions to wait for responses from all the required nodes before taking an abort decision. | |
BDR | 5.4.0 | Now run ANALYZE on the internal Raft tables. | RT97735 |
BDR | 5.4.0 | Fixed segfault in I2PC concurrent abort case. | RT93962 |
BDR | 5.4.0 | Now avoid bypassing other extensions in BdrProcessUtility when processing COPY..TO. | RT99345 |
BDR | 5.4.0 | Ensured that consensus connection are handled correctly. | RT97649 |
BDR | 5.4.0 | Fixed memory leaks while running monitoring queries. | RT99231, RT95314 |
BDR | 5.4.0 | The bdr.metrics_otel_http_url and bdr.trace_otel_http_url options are now validated at assignment time. | |
BDR | 5.4.0 | When bdr.metrics_otel_http_url and bdr.trace_otel_http_url don't include paths, /v1/metrics and /v1/traces are used, respectively. | |
BDR | 5.4.0 | Setting bdr.trace_enable to true is no longer required to enable OTEL metrics collection. | |
Proxy | 5.4.0 | Now use route_dsn and perform sslpassword processing while extracting write leader address. | RT99700 |
Proxy | 5.4.0 | Now log client and server addresses at debug level in proxy logs. |