Postgres Pro Standard 12.3.1: release notes

Overview

This release is based on PostgreSQL 12.3 and Postgres Pro Standard 12.2.1. All improvements inherited from PostgreSQL 12.3 are listed in PostgreSQL 12.3 Release Notes. Major enhancements over Postgres Pro Standard 12.2.1 include:

  • Fixed a memory leak that could occur during join operations if they required estimating multiple query execution paths for complex queries.

  • Fixed an issue with an infinite loop that could lead to consuming all the available memory while planning join operations with multiple IN conditions.

  • Added the --no-data-checksums option for initdb to allow initializing Postgres Pro clusters with checksums disabled.

  • Added the -c/--restore-target-wal option for pg_rewind to automatically retrieve missing WAL files from WAL archive using the restore_command defined in the target cluster configuration. This Postgres Pro feature has been accepted by the PostgreSQL community and is targeted to appear in vanilla PostgreSQL 13.

  • Added support for Oracle Linux 8.

  • Added support for ALT Linux 8 SP.

  • Added support for Ubuntu 20.04. Support for Ubuntu 19.04 is no longer provided.

  • Added the plpython3 package for Rosa Enterprise Linux Server 7, ROSA COBALT (server edition) based on Rosa platform 7, Red OS Murom 7, GosLinux 7, and AlterOS 7.5 distributions where it was previously missing. Now it is available on all supported platforms except SLES 11 and MSVSphere 6.3.

  • Upgraded several libraries provided with Postgres Pro on Windows. Now the following libraries are used: OpenSSL 1.1.1g, libzstd 1.4.4, gettext 0.20.2, libiconv 1.16, libxml2 2.9.9, and libxslt 1.1.32. The ICU library has been upgraded from version 56.1 to 56.2.

  • Upgraded PTRACK extension to version 2.1. In the new version, the API has been significantly reworked. In particular, you now have to set the ptrack.map_size parameter instead of ptrack_map_size to enable this feature. See PTRACK documentation for details.

  • Upgraded pg_pathman to version 1.5.11 to avoid server failure when trying to access child partitions without the required permissions while parent table access is allowed. This issue could previously occur when using pg_pathman with Postgres Pro 11.7.1 or higher.

Migration to Version 12.3.1

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

While functions numeric_eq, numeric_ne, numeric_gt, numeric_ge, numeric_lt, and numeric_le are actually leakproof, they were not marked as such in Postgres Pro Standard 12.1.1, which could lead to incorrect query optimization. In particular, it negatively affected query execution if row-level security policy was in use. Version 12.2.1 repairs this issue for new installations by correcting the initial catalog data, but existing installations will still have incorrect markings unless you update pg_proc entries for these functions. You can run pg_upgrade to upgrade your server instance to a version containing the corrected initial data, or manually correct these entries in each database of the installation using the ALTER FUNCTION command. For example:

ALTER FUNCTION pg_catalog.numeric_eq VOLATILE