Postgres Pro Standard 12.6.1: release notes

E.1. Postgres Pro Standard 12.19.1

Release Date: 2024-05-20

E.1.1. Overview

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

  • Disabled the system startup timeout by setting the TimeoutSec parameter to 0 in systemd. Previously, big databases could fail to start within the specified timeout.

  • Reduced logging level during a specified restore point creation at a checkpoint timeout for inactive bases only. It allows removing excessive log messages.

  • Fixed a bug resulting in error cache lookup failed for collation 128. Now, for the additional INCLUDE index columns, collation is ignored.

  • Fixed two planner issues. An expression duplication issue previously caused underestimation of node selectivity and cost in some cases, which could lead to a choice of a suboptimal plan. Another issue — the selectivity overestimation for an AppendOr node was caused by its subnode selectivity overestimation and led to the plan cost overestimation.

  • Ended support for Astra Linux Orel 2.12.

  • Ended support for Astra Linux Smolensk 1.6.

  • Ended support for Red OS Murom 7.2.

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

    • Added support for the Zabbix 6.4 API: handling of deprecated parameters for authentication requests.

    • Removed caching of the pgsql.connections[max_connections] metric.

    • Updated the default log rotation rules.

    • Prepared for support of Python 3.12.

    • Changed metric names of the pg_locks plugin. Be aware that the changes could break custom user-defined triggers and processing functions that use the item.name parameter.

    • Fixed type mismatch for pgpro_stats and pg_wait_sampling.

    • Fixed privileges for the mamonsu role created by bootstrap.

  • Upgraded orafce to version 4.10.0.

  • Upgraded pg_probackup to version 2.8.0, which provides new features, optimizations and bug fixes. Notable changes are as follows:

    • Added a possibility to limit the rate of disk writes using the option --write-rate-limit=bitrate (Mbps, Gbps).

    • Decreased the memory consumption when restoring long sequences of increments twice on average.

    • Added a possibility to validate only a WAL archive.

    • Extended the use of the --dry-run option for all pg_probackup commands.

    • Made creation of a temporary slot during backups in the STREAM mode the default behavior unless it is specified otherwise.

    • Changed the default compression algorithm to zstd. If zstd is not supported by the system, lz4 has the next priority. The --compress option now sets the default values for --compress-level and --compress-algorithm.

  • Added the pgv_exists_elem function to pg_variables that checks whether an element with a key exists in a general collection.

  • Upgraded pgpro_stats to version 1.7.1, which provides optimizations and bug fixes. Notable changes are as follows:

    • Added saving non-normalized plans to pgpro_stats for queries where previously no plans were saved.

    • Fixed an issue that hindered the monitoring when the pgpro_stats_statements view contained quite a few rows with the same values of plan and queryid, but different values of planid. The issue was caused by an error in parsing the plan tree containing a T_Memoise node.

  • Upgraded pgpro_pwr to version 4.5.

  • Fixed an error ERROR: query failed: ERROR: tablespace "XXXX" does not exist that could occur when the pg_repack command was trying to reorganize tables in a tablespace whose name started with a digit. The root cause of the issue was that pg_repack expected extra quotes.

  • Added the --save-fullpage option to pg_waldump. It allows saving full-page images included in WAL records into a given target directory.

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