E.20. Postgres Pro Enterprise 12.10.1

Release date: 2022-03-10

E.20.1. Overview

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

  • Improved access to the LSN field in the page header by reading it atomically instead of locking to reduce lock contention; added caching of the block number of the page to speed up retrieving of block numbers. Now multiple clients can provide better performance when accessing the same blocks concurrently.

  • Added the pgpro_stats_wal_sender_crc_errors function that returns the number of errors detected by the WAL sender process.

  • Increased the number of partitions of the shared buffer mapping hash table to 1024, which can improve performance on multi-core systems.

  • Fixed an issue with lazy conversion from 32-bit to 64-bit transaction IDs in read-only transactions or on replicas by enforcing marking pages as subject to full-page writes to WAL. This issue could cause failures to synchronize conversion results to other replicas.

  • Fixed segmentation fault, which might have occurred when executing a specific procedure calling pattern while plan_cache_lru_memsize was set.

  • Fixed an issue with *.cfm files that were unexpectedly left in compressed tablespaces after dropping a table.

  • Fixed the use of multi-column statistics by planner. Previously, when the optimizer estimated the query selectivity using multi-column statistics and the query conditions only included part of the columns involved, the cardinality could be considerably overestimated, so the created plan would be non-optimal.

  • Fixed the out-of-memory (OOM) killer settings in system startup files. Previously the OOM score adjustment value was set for all Postgres Pro processes rather than for postmaster only, so when Postgres Pro exhausted all RAM, the OOM killer could start killing irrelevant processes, such as sshd.

  • Fixed a small memory leak in the postmaster for each connection.

  • Added support for Rocky Linux 8.

  • Ended support for outdated operating systems Debian 8 and Astra Linux Smolensk 1.5.

  • Upgraded mamonsu to version 3.4.0. Notable changes are as follows:

    • Added a new timeout parameter to the [zabbix] section of the mamonsu configuration file. It allows you to set maximum time to wait while connecting to the Zabbix server.

    • Added a new mamonsu dashboard upload template_name command, which can be used to upload a Zabbix dashboard with the mamonsu metrics to a template on the Zabbix server version 6.0 or higher.

  • Upgraded pg_probackup to version 2.5.5, which provides the following new features and bugfixes as compared to the previous included version 2.5.3:

    • Added the --checkunique option to the checkdb command to work together with --amcheck and verify unique constraints during logical verification of indexes when the amcheck extension is installed in the database and its version supports the verification of unique constraints. Check the amcheck documentation for whether this verification is supported.

    • Fixed an issue that could occur when the source database was not on the timeline 1 and the destination database did not fall behind: probackup sanity checks on catchup timeline history failed with the error Destination is not in source timeline history.

    • Fixed the behavior of catchup in DELTA and PTRACK modes. The fixed issue could occur when pg_probackup operated remotely via SSH and --destination-pgdata was the same as --source-pgdata, caused corruption of the source instance (at least the global/pg_control, global/pg_filenode.map and base/*/pg_filenode.map files got deleted) and resulted in the error Could not open file "/pgwal/test/global/pg_control" for reading: No such file or directory.

  • Upgraded pgpro_pwr to version 3.7.

E.20.2. Migration to Version 12.10.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.

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

If you have previously migrated from Postgres Pro Enterprise versions 11 or 10, you must run the REINDEX command to rebuild B-tree indexes, except for unique, covering and system indexes. If you are migrating from these versions now, rebuilding such indexes is also recommended.

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

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 12.