E.10. Postgres Pro Enterprise 14.6.1

Release Date: 2022-12-16

E.10.1. Overview

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

  • Added ignore_event_trigger that allows to disable event triggers temporarily.

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

  • Added support for Elbrus CPU architecture through ALT 9/10 for e2kv3/e2kv4, ALT 8.2 SP for e2kv3/e2kv4 and Astra Linux Leningrad 8.1 operating systems. You are recommended to use the 5.4.182-mcst-e8c-alt3.22.1 Linux kernel or newer when running ALT 10 for e2kv3/e2kv4.

  • Fixed an issue with password authentication when using the connection pooler, which manifested itself in authentication identifier set more than once errors.

  • 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 bursts in the checkpoint_req counter of the pg_stat_bgwriter view on a replica that occurred from time to time due to a series of unsuccessful attempts to create a restartpoint. The fix checks in advance whether an attempt to create a restartpoint will fail and thus prevents from making obviously unsuccessful attempts. Note that the issue did not cause excessive consumption of system resources even before it was fixed.

  • Fixed compatibility of in_memory with autonomous transactions.

  • Fixed an issue in psql, which mistakenly treated the \duS and \duS+ meta-commands as invalid. Both meta-commands list database roles, including system roles, with a different level of detail, and correctly processed \dgS+ and \du+S (respectively) could be used instead even before the issue was fixed.

  • Upgraded aqo to version 1.5, which contains bugfixes and the following changes:

    • Switched to storing the knowledge base on disk outside of the database. Previously it was stored in Postgres Pro tables.

    • Made aqo relocatable.

    • Added functions to analyze the quality of query planning.

    • Added a possibility to learn from partially completed queries, namely, from those that timed out (see statement_timeout).

    • Made aqo use the same query ID as other extensions. So aqo and pg_stat_statements can be used simultaneously, sharing the same query IDs.

    • Enabled aqo work with temporary tables.

    • Fixed a few memory leaks.

    • Added alpha version of a new feature: search by neighbors (off by default). It allows applying knowledge to newly added queries with a different structure.

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

  • The multimaster extension is considered as ready-to-use. Notable changes are as follows:

    • Implemented transaction deadlock prevention mechanism managed by the multimaster.deadlock_prevention configuration parameter. It allows to avoid situations when transactions might not actually run in case of many conflicts due to long deadlock resolution time.

    • Fixed states of multimaster apply workers displayed in the pg_stat_activity view. After applying transactions, the worker status is now set to Idle instead of Active.

    • Fixed an issue, which could result in isolation of all multimaster cluster nodes after dropping any node and adding a new node to the cluster.

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

  • Added tds_fdw extension that provides a foreign data wrapper to connect to Microsoft SQL Server and other databases that use the Tabular Data Stream (TDS) protocol.

E.10.2. Migration to Version 14.6.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.

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