Installation{.md-button}
--8<-- "release-notes-intro.md"
This release of Percona Distribution for PostgreSQL is based on PostgreSQL 16.11.
!!! important PostgreSQL RPMs rebuilt to disable debug assertions
The Percona Server for PostgreSQL (PSP) and Percona Distribution for PostgreSQL (PPG) RPM packages for **PostgreSQL versions 13 through 18 released as part of the Q3 and Q4 quarterly release** were built with debug assertions enabled (`--enable-cassert`).
If you installed or updated PostgreSQL RPMs within the last four months, you may suffer performance degradation: 18.1, 17.6, 17.7, 16.10, 16.11, 15.14, 15.15, 14.19, 14.20, 13.22, 13.23.
These packages have been rebuilt, and all users running RPM-based installations of the affected releases are **strongly advised** to update to the latest available packages.
To verify, run `pg_config --configure`. If the output includes `--enable-cassert`, then your installation is affected.
The percona_pg_telemetry extension has been deprecated and replaced with a backwards compatibility stub to avoid breaking existing installations.
No telemetry data will be gathered, it will not be maintained going forward and it should not be used in new deployments.
The binary tarballs for x86_64 and ARM64 architectures have been updated in this release. The following libraries and components have new versions:
- pgbouncer: 1.25.0
- pgpool2: 4.6.3
- etcd: 3.5.24
- PostGIS: 3.5.4
- set_user: 4.2.0
- pg_repack: 1.5.3
- pg_stat_monitor: 2.3.1
- pgBackRest: 2.57.0
- Patroni: 4.1.0
- HAProxy: 2.8.16
- pgvector: 0.8.1
- libxml2: 2.12.10
See Install Percona Distribution for PostgreSQL from binary tarballs for the download links.
The installation preconditions for tarballs now include an extra step for RHEL, Rocky Linux, or Oracle Linux 10: installing the acl package.
This release includes important security measures that address the following CVEs: CVE-2025-12817, CVE-2025-12818. For more details, see the PostgreSQL 16.11 release notes.
This release includes several stability fixes introduced in the community PostgreSQL 16.11 update:
- Fix logic related to caching result-relation metadata for triggers when partitions do not share identical physical column sets with their parent tables.
- Fix EvalPlanQual handling for foreign or custom joins where no alternative local join plan exists.
- Fix a use-after-free condition in the relation synchronization cache used by the
pgoutputlogical decoding plugin. - Fix incorrect message formatting when checking for Windows administrator privilege.
- Fix crash scenarios triggered when PostgreSQL is tested using certain
libsanitizeroptions.
During an upgrade on RHEL, you may encounter the following error:
Unknown Error occurred: Transaction test error:
file /usr/share/postgresql-common/server/postgresql.mk from install of percona-postgresql-common conflicts with file from package percona-postgresql-common-dev
file /usr/share/postgresql-common/t/040_upgrade.t from install of percona-postgresql-common conflicts with file from package percona-postgresql-common-dev
To resolve this, remove the percona-postgresql-common-dev package and reinstall it with the new intended upgraded PPG/PSP server.
Review each extension’s release notes for What’s new, improvements, or bug fixes.
The following is the list of extensions available in Percona Distribution for PostgreSQL.
| Extension | Version | Description |
|---|---|---|
| etcd | 3.5.24 | A distributed, reliable key-value store for setting up high available Patroni clusters |
| python-etcd :octicons-link-external-16: | 0.4.5 | A Python client library for interacting with etcd |
| HAProxy | 2.8.16 | a high-availability and load-balancing solution |
| Patroni | 4.1.0 | a HA (High Availability) solution for PostgreSQL |
| PgAudit | 16.1 | provides detailed session or object audit logging via the standard logging facility provided by PostgreSQL |
| pgAudit set_user | 4.2.0 | provides an additional layer of logging and control when unprivileged users must escalate themselves to superusers or object owner roles in order to perform needed maintenance tasks. |
| pgBackRest | 2.57.0 | a backup and restore solution for PostgreSQL |
| pgBadger | 13.1 | a fast PostgreSQL Log Analyzer. |
| PgBouncer | 1.25.0 | a lightweight connection pooler for PostgreSQL |
| pg_gather | v32 | an SQL script for running the diagnostics of the health of PostgreSQL cluster |
| pgpool2 | 4.6.3 | a middleware between PostgreSQL server and client for high availability, connection pooling, and load balancing. |
| pg_repack | 1.5.3 | rebuilds PostgreSQL database objects |
| pg_stat_monitor | 2.3.1 | collects and aggregates statistics for PostgreSQL and provides histogram information. |
| pg_vector | v0.8.1 | A vector similarity search for PostgreSQL |
| PostGIS | 3.5.4 | a spatial extension for PostgreSQL. |
| PostgreSQL Commons | 287 | PostgreSQL database-cluster manager. It provides a structure under which multiple versions of PostgreSQL may be installed and/or multiple clusters maintained at one time. |
| wal2json | 2.6 | a PostgreSQL logical decoding JSON output plugin |
For Red Hat Enterprise Linux 8 and compatible derivatives, Percona Distribution for PostgreSQL also includes the supplemental python3-etcd 0.4.5 packages, which are used for setting up Patroni clusters.
Percona Distribution for PostgreSQL is also shipped with the libpq library. It contains "a set of library functions that allow client programs to pass queries to the PostgreSQL backend server and to receive the results of these queries."