E.16. Postgres Pro Enterprise 12.13.1

Release date: 2022-12-06

E.16.1. Overview

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

  • Added slru_buffers_size_scale that allows to scale the size of SLRU shared memory buffers. Note that the buffer sizes changed due to this improvement.

  • Improved garbage collection logic in CFS. Now percent of garbage is calculated based on file size rounded to 4 kB (typical filesystem block size) instead of raw file size, which prevents frequent defragmentation of small files.

  • Fixed an issue with physical replication, which could lead to a replica crash in rare cases. Previously, WAL records on update and init of heap pages did not contain pd_multi_base so incorrect xmax values could be set.

  • Fixed huge selectivity overestimation observed in rare cases, which could result in a sequential scan of a whole relation instead of a quick index scan, so certain queries were executed much more slowly than expected. The issue was due to an oversight in a recent optimization of selectivity estimation.

  • Fixed compatibility of in_memory with autonomous transactions.

  • Upgraded mamonsu to version 3.5.2, which provides new features and bugfixes. Notable changes are as follows:

    • Added autovacuum utilization metrics.

    • Added Zabbix macros based on plugin parameters from the configuration file, so that triggers can now be dynamically changed directly in Zabbix without updating the configuration file and restarting mamonsu.

  • Dropped support for the multimaster extension.

  • Added the oracle_fdw extension to Windows versions of Postgres Pro.

  • Upgraded pg_probackup to version 2.5.10, which provides optimizations and bugfixes. Notable changes are as follows:

    • Optimized *.cfm files backup by truncating trailing zeroes.

    • Fixed an issue with checkdb --amcheck, which previously completed with an error when the checked database contained partitioned indexes.

    • Fixed a backup failure on a replica that occurred because the version of the pg_probackup agent running there was different from that on the master.

  • Upgraded pgpro_pwr to version 4.1, which mainly adds JIT-related statistics to report tables.

  • Upgraded pgpro_scheduler to version 2.8. This version introduces the schedule.timetable() function, which returns all the jobs, both scheduled and one-time, within the specified time interval.

  • Upgraded pgpro_stats to version 1.4.3, which provides bugfixes. In particular:

    • Fixed possible server crashes that could occur during query text normalization when an extended protocol was used.

E.16.2. Migration to Version 12.13.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 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.

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.