E.22. Postgres Pro Enterprise 12.8.1

Release date: 2021-09-20

E.22.1. Overview

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

  • Fixed a few issues related to upgrading Postgres Pro Enterprise to the current major version using pg_upgrade:

    • Added visibility map conversion in order to fix an issue that could lead to retrieving phantom query results when using btree indexes.

    • Added the enable_legacy_btree_deduplication parameter to ensure a stable upgrade of a Postgres Pro Enterprise cluster with extremely large tables. Previously, B-tree indexes on such tables could break after the upgrade.

    • Fixed an issue with handling posting list pages in GIN indexes after the upgrade. This issue could lead to GIN index corruption that manifested itself in ERROR: XX000: tuple offset out of range errors on stand-by servers.

    • Fixed incorrect conversion of multixacts from 32-bit to 64-bit transaction ID format during the upgrade, which could result in retrieving out-of-date row versions.

  • Added support for Debian 11.

  • Upgraded mamonsu to version 3.0, which is incompatible with the previous one. Read mamonsu Compatibility Considerations to learn what you need to do to continue using the application.

  • Added support for Red OS Murom 7.3.

  • Fixed an issue in the multimaster extension that could result in an error when updating rows created using a stored procedure. Now sequence values are correctly generated when the sequence object is called within a stored procedure.

  • Fixed an issue with pgpro_scheduler that could result in a failure to stop a stand-by server, e.g. with pg_ctl.

  • Added support for Astra Linux Smolensk 1.7.

  • Fixed the behavior of ALTER TABLE IF EXISTS table RENAME TO table1 command in the case when the source table is missing and the pg_pathman extension was loaded. Previously, ERROR was returned, and now NOTICE is generated, which is how Postgres Pro behaves with no pg_pathman extension loaded.

  • Upgraded amcheck to version 1.2.1, which supports verification of unique constraints in B-tree indexes.

  • Upgraded pg_probackup to version 2.5.1, which added a new catchup command to copy a Postgres Pro instance directly, without using the backup catalog. This allows you to add a new standby server in a parallel mode or to have a fallen-behind standby server catch up with master.

  • Fixed a bug in the query optimizer, which overestimated the cost of index scan using a unique index. This behavior was observed when between index scans using a unique index and using a non-unique one, the non-unique index was chosen, which resulted in excessive disk accesses and a considerable overall slowdown.

  • Implemented I/O buffering in CFS, which can improve performance on HDD.

  • Fixed a corner case of incorrect snapshot handling in parallel workers.

  • Improved stability of the aqo module when processing queries typical for ORM solutions, such as 1C:Enterprise.

E.22.2. Migration to Version 12.8.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

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

Important

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.