Postgres Pro Standard 12.19.2: release notes

E.1. Postgres Pro Standard 12.20.1

Release Date: 2024-08-14

E.1.1. Overview

This release is based on PostgreSQL 12.20 and Postgres Pro Standard 12.19.2. All improvements inherited from PostgreSQL 12.20 are listed in PostgreSQL 12.20 Release Notes. Other major changes and enhancements are as follows:

  • Fixed a bug that caused the optimizer to ignore columns from query conditions. Previously, when partially using a composite index, the number of rows could be overestimated, which led to an incorrect plan creation. The bug occurred due to a malfunction of the multi-column statistics elements.

  • Fixed a bug in ANALYZE that could occur because it was impossible to display the pg_statistic system catalog. For the fix to work, if your database has indexes with INCLUDE columns, after upgrading Postgres Pro, it is recommended to do another ANALYZE for these columns.

  • Upgraded the mchar extension to fix a bug that caused the mchar and mvarchar data types to ignore control characters during string comparison.

  • Upgraded pg_probackup to version 2.8.3, which fixes backup validation for databases containing an OID larger than 109. Previously, the validation status could be displayed incorrectly in such cases.

  • Upgraded pg_filedump to version 17.0, which provides optimizations and bug fixes. In particular, contents of meta pages for GIN and SP-GiST indexes are now displayed correctly, and an issue of lacking memory for encoding and decompression is resolved.

  • Fixed incorrect behavior of pg_wait_sampling when used with the extended query protocol.

E.1.2. Migration to Version 12.20.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.

If you take backups using pg_probackup and you have previously upgraded it to version 2.8.0 or 2.8.1, make sure to upgrade it to version 2.8.2 or higher and retake a full backup after upgrade, since backups taken using those versions might be corrupted. If you suspect that your backups taken with versions 2.8.0 or 2.8.1 may be corrupted, you can validate them using version 2.8.2.

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 LEAKPROOF

When upgrading from Postgres Pro versions 12.6.1 or lower, rebuild indexes containing at least one included column of type for which the collation was defined in the table.

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