E.1. Postgres Pro Enterprise 14.20.1

Release Date: 2025-12-16

E.1.1. Overview

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

  • Improved the search mechanism for matching mchar and mvarchar strings using the LIKE operator. Optimized case-insensitive comparison results in significant speed increase. This may be useful for 1C.

  • Improved performance of getting information on crashes of a backend by optimizing utility functions and commands.

  • Improved performance in cases where resource prioritization is disabled.

  • Added the enable_sorted_merge_join configuration parameter that enables or disables the query planner's use of merge joins in plans with sorting.

  • Added the max_wal_segments_prealloc configuration parameter, which enables the background writer to create WAL segments in advance during its main operation cycle, reducing the load on backend processes. The parameter sets the maximum number of such segments.

  • Limited the maximum number of assigned transaction IDs to 263. Now a warning is also shown when a threshold of 10 million XIDs is reached. Once the maximum number of XIDs is reached, new transactions cannot be started, but read-only queries continue to work.

  • Avoided a possible pfree-a-NULL-pointer crash after an error in OpenSSL connection setup.

  • Fixed an issue with CFS failing to compress relation files where OID exceeds INT32_MAX. The issue occurred when moving an existing table to a CFS tablespace.

  • Added new values of the PGPRO_TUNE environment variable used by initdb.

  • Added the auto_dump extension, which collects data for long-running and problematic queries and creates files with all information to reproduce them for troubleshooting.

  • Added the pg_trgm_mchar extension, which allows fast trigram-based search for similar mchar and mvarchar strings. This extension also provides support of GIN indexes for mchar and mvarchar types. This may be useful for 1C.

  • Added the pgpro_cpumeter extension, which provides access to a new CPU usage monitoring system function. This pgpro_cpumeter function continuously collects and records information about CPU cores used by Postgres Pro server processes.

  • Upgraded multimaster to provide the following changes and bug fixes:

    • Fixed an issue where multimaster returned an error when executing read-write transactions containing queries to postgres_fdw foreign tables. The root cause was that postgres_fdw does not support two-phase commit transactions used by multimaster. To fix the issue, the postgres_fdw.read_only_transactions configuration parameter was implemented. When set to on, it enables read-only queries to foreign tables in read-write transactions, which allows seamless operation of multimaster and postgres_fdw.

    • Fixed an issue of potential transaction commit latency caused by an error in the exchange logic for messages containing information about transaction application on nodes.

  • Upgraded orafce to version 4.16.3.

  • Upgraded pageinspect to fix an issue with the page_header function, which returned incorrect information for double xmax and some index pages. Specifically, the sequence of columns was confused and the prune_xid value was returned in the xid_base column. Now the information is returned correctly.

  • Upgraded pg_filedump to version 18.0.

  • Upgraded pg_hint_plan to version 1.4.4.

  • Upgraded pg_portal_modify to version 0.3.6.

  • Upgraded pg_proaudit to provide the following enhancements and bug fixes:

    • Added support for logging of the following event types: ANALYZE, DISCARD ALL, DISCARD PLANS, DISCARD SEQUENCES, DISCARD TEMP (for temporary tables), CHECKPOINT, FETCH, and MOVE.

    • Added the new event class MISC. This class allows logging of all events (including those mentioned above) not related to other event classes.

    • Added a new method for logging security events. Events in CEF format can now be logged not only in a separate file but also in syslog.

    • Added a new event log field: application name. AUTHENTICATE events now contain the name of the initiating application alongside the connection parameters.

    • Fixed an issue with pg_proaudit failing to log security events in a CEF file.

    • Fixed an issue with pg_proaudit failing to log events for the INSERT command following CREATE within anonymous code blocks (the DO command) and stored procedures/functions.

    • Fixed an issue with pg_proaudit overloading a CPU core due to failed log rotation.

  • Upgraded pg_probackup to version 2.8.11 Enterprise, which provides the following new features, optimizations, and bug fixes:

    • Added support for Postgres Pro Enterprise 18.

    • Added support for Transparent Data Encryption (TDE). The version output of pg_probackup now displays a TDE support indicator.

    • Made the host from which a backup was taken to be saved in backup.control and displayed in the show command output.

    • Improved the behavior during restore from read-only media, including more informative warning messages.

    • For archive-push and archive-get operations in the remote mode, made SIGQUIT signals to be ignored to prevent core dumps of helper programs when the server stops.

    • Added validation to ensure consistency between the port number in PGDATA and the --pgport option. Also added the --force flag to perform backups even when these values mismatch.

    • Fixed handling of external tablespaces during incremental restore. When using the --force flag, the tablespace contents are no longer overwritten.

    • Fixed a problem with the backup command holding the replication slot after successful completion.

    • Fixed the identifier conflict for the --wal-tree option by adding a uniqueness test.

    • Fixed the order of displaying the calculated and expected checksum values in the warning message.

  • Upgraded pg_repack to version 1.5.3.

  • Upgraded pgpro_bindump to fix compression level validation. Previously, pgpro_bindump enforced the same compression-level range regardless of the selected algorithm.

  • Upgraded pgpro_controldata to version 18.1.0.

  • Upgraded pgpro_datactl to version 1.2.

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

    • Improved take_sample time tracking.

    • Added support of pgpro_stats 1.10.

    • Added a possibility to exclude server connection strings from dumps.

    • Added statistics on restartpoints to the reports when it is available.

  • Upgraded pgpro_scheduler to fix an issue with incorrectly recording timestamp values in the service table associated with the get_log function. Now missing data is properly recorded when a NULL value is specified.

  • Upgraded pgpro_stats to version 1.10 to provide the following enhancements and bug fixes:

    • Added new statistics to pgpro_stats_statements and pgpro_stats_totals views. These statistics were added to pg_stats_statements in Postgres Pro 18. Related functions are updated accordingly.

    • Added the new pgpro_stats_statements_filtered function to filter statistics similar to those provided in the pgpro_stats_statements view by one or several fields: userid, dbid, queryid, and planid. Calling this function is faster than querying the pgpro_stats_statements view with appropriate values of these fields.

    • Improved the behavior of pgpro_stats similarly to pg_stat_statements. The changes are:

      • Allow the parameterization of SET values. This reduces the bloat caused by SET statements with differing constants.

      • Allow the parameterization of constant lists.

    • Fixed an issue that could occur when in pgpro_stats custom metrics were changed on the fly. Now any change to custom metrics requires a server restart.

  • Upgraded pldebugger to version 1.1.6.

  • Upgraded rum to fix a bug with the module upgrade that was caused by an incorrect variable specified in its makefile.

  • Upgraded tds_fdw to version 2.0.5.

  • Disabled online_analyze. This module is not recommended for use with modern versions of 1C. However, it can be enabled if needed.

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

ABI versions may change between minor releases of Postgres Pro. If this is the case, and you see the ABI mismatch error when trying to run your extension, make sure to install a new version of the extension supplied with a new release of Postgres Pro, or recompile your third-party extension to be able to use it with the current version of Postgres Pro.

When upgrading your high-availability cluster from Postgres Pro Enterprise versions 14.12.x or lower, first disable automatic failover if it was enabled and upgrade all the standby servers, then upgrade the primary server, promote a standby, and restart the former primary (possibly with pg_rewind).

If you take backups using pg_probackup and you have previously upgraded it to version 2.8.0 Enterprise or 2.8.1 Enterprise, make sure to upgrade it to version 2.8.2 Enterprise 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.

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.

Starting from Postgres Pro Enterprise 14.10.1, the privileges of CREATEROLE are restricted, and modification of other roles requires the role requesting the change to have the ADMIN OPTION permission.

It is strongly recommended to avoid migrating a cluster with 32-bit transaction IDs to Postgres Pro Enterprise versions below 14.9.2, if there are multitransactions in your database, as it may cause data corruption.

When upgrading to Postgres Pro Enterprise versions starting with 14.8.1, make sure to upgrade pg_probackup Enterprise to version 2.6.4 or higher since lower versions are incompatible with these Postgres Pro Enterprise versions.

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.