E.2. Postgres Pro Enterprise 13.16.1

Release Date: 2024-09-05

E.2.1. Overview

This release is based on PostgreSQL 13.16 and Postgres Pro Enterprise 13.15.2. All changes inherited from PostgreSQL 13.16 are listed in PostgreSQL 13.16 Release Notes. As compared with Postgres Pro Enterprise 13.15.2, this version also provides the following changes:

  • Enhanced performance of segment search by implementing a new search strategy, allowing faster detection of the last segment.

  • Implemented the interaction of the PASSWORD_GRACE_TIME profile parameter with the VALID UNTIL role attribute. Now if both of them are set, the warning about password expiration will be displayed.

  • Prevented potential authentication delays due to locking by not updating role's last login time if the role's profile USER_INACTIVE_TIME is set to unlimited (see Section 53.39 for details).

  • Fixed the following issues in CFS:

    • Fixed issues related to processing of data structures in CFS by pg_rewind. Previously, pg_rewind did not fully support CFS, which could result in data corruption.

    • Fixed an issue in CFS, which could cause GC worker to fail with warning CFS GC failed to read block 0 of file X at position 0 size 0: Success. It happened due to incorrect handling of the first MB of the data file containing only zero pages.

  • Fixed a segmentation fault that could occur when a connection to the built-in connection pooler was reset before a new session was created in the backend.

  • Fixed an issue with freezing 64-bit multitransaction IDs, which could manifest itself in PANIC-level errors like xid XXX does not fit into valid range for base YYY during autovacuum.

  • Fixed an issue related to suboptimal handling of pd_prune_xid. This issue did not result in any significant operation problems but caused unnecessary page pruning, which might have produced extra WAL records.

  • Fixed an issue, which could manifest itself in errors like invalid FSM request size. The code was adjusted to reflect the changes in heap page structure, removing reliance on a constant related to maximum free heap page space where it is no longer applicable.

  • Fixed a bug that caused the optimizer to ignore columns from query conditions. Previously, when partially using a composite index, the number of rows could be overestimated, which led to an incorrect plan creation. The bug occurred due to a malfunction of the multi-column statistics elements.

  • Fixed a bug in ANALYZE that could occur because it was impossible to display the pg_statistic system catalog. For the fix to work, if your database has indexes with INCLUDE columns, after upgrading Postgres Pro, it is recommended to do another ANALYZE for these columns.

  • Added support for ALT 11.

  • Upgraded the mchar extension to fix a bug that caused the mchar and mvarchar data types to ignore control characters during string comparison.

  • Implemented the ability to slow down transaction execution on the donor node in multimaster using the multimaster.tx_delay_on_slow_catchup configuration parameter. This is useful when a lagging node is catching up to the donor node and cannot apply changes as quickly.

  • Upgraded pg_filedump to version 17.0, which provides optimizations and bug fixes. In particular, contents of meta pages for GIN and SP-GiST indexes are now displayed correctly, and an issue of lacking memory for encoding and decompression is resolved.

  • Upgraded pg_proaudit to provide the following optimizations and bug fixes:

    • Improved performance and added the pg_proaudit.max_rules_count parameter, which allows specifying the maximum number of rules allowed.

    • Corrected support of database names including uppercase symbols by the pg_proaudit_set_rule function.

  • Upgraded pg_probackup to version 2.8.3 Enterprise, which provides the following bug fixes:

    • Fixed backup validation for databases containing an OID larger than 10^9. Previously, the validation status could be displayed incorrectly in such cases.

    • Fixed a bug that could occur when pg_probackup was run as a user included in the postgres group in case the database used CFS.

  • Fixed incorrect behavior of pg_wait_sampling when used with the extended query protocol.

E.2.2. Migration to Version 13.16.1

If you are upgrading from a Postgres Pro Enterprise release based on the same PostgreSQL major version, it is enough to install the new version into your current installation directory.

Important

When upgrading your high-availability cluster from Postgres Pro Enterprise versions 13.15.x or lower, first disable automatic failover if it was enabled and upgrade all the standby servers, then upgrade the primary server, promote a standby, and restart the former primary (possibly with pg_rewind).

If you take backups using pg_probackup and you have previously upgraded it to version 2.8.0 Enterprise or 2.8.1 Enterprise, make sure to upgrade it to version 2.8.2 Enterprise or higher and retake a full backup after upgrade, since backups taken using those versions might be corrupted. If you suspect that your backups taken with versions 2.8.0 or 2.8.1 may be corrupted, you can validate them using version 2.8.2.

If you are migrating to the current major version of Postgres Pro Enterprise using pg_upgrade, and you want to keep the existing visibility map representation in pageinspect, you should run the VACUUM command before the upgrade.

Starting from Postgres Pro Enterprise 13.13.1, the privileges of CREATEROLE are restricted, and modification of other roles requires the role requesting the change to have the ADMIN OPTION permission.

It is strongly recommended to avoid migrating a cluster with 32-bit transaction IDs to Postgres Pro Enterprise versions below 13.12.2, if there are multitransactions in your database, as it may cause data corruption.

When upgrading to Postgres Pro Enterprise versions starting with 13.11.1, make sure to upgrade pg_probackup to version 2.6.4 or higher since lower versions are incompatible with these Postgres Pro Enterprise versions.

If you have previously migrated to Postgres Pro Enterprise 13.3.1 or lower, you must run the REINDEX command to rebuild GIN indexes.

If you are upgrading from Postgres Pro Enterprise versions 13.2.2 or lower and take PTRACK backups using pg_probackup, retake a full backup after upgrade.

If you have an installation of Postgres Pro Enterprise 13.2.1 that contains compressed tablespaces created without explicitly specifying the pglz algorithm, perform an upgrade as follows. Before upgrading, make a complete dump using pg_dumpall. Upgrade Postgres Pro Enterprise, re-create your database cluster, and restore the dump. Then you can create compressed tablespaces in the same way as before.

If you have already upgraded your installation with CFS tablespaces from Postgres Pro Enterprise 13.2.1, and you cannot access the compressed data, call the support team.

To migrate from PostgreSQL, as well as Postgres Pro Standard or Postgres Pro Enterprise based on a previous PostgreSQL major version, see the migration instructions for version 13.