E.1. Postgres Pro Enterprise 14.22.1
Date: 2026-03-17
E.1.1. Overview
This release is based on PostgreSQL 14.22 and Postgres Pro Enterprise 14.20.1. All changes inherited from PostgreSQL 14.22 are listed in PostgreSQL 14.22 Release Notes. As compared with Postgres Pro Enterprise 14.20.1, this version also provides the following changes:
Reduced the amount of debugging information sent to the client or written to the server log.
DEBUG1severity level messages about operations with temporary tables are no longer returned.Introduced the following changes to the implementation of crash_info:
Changed the name format of
crash_infooutput files to specify date and time with microseconds.Fixed a bug that could occur when trying to write a query text to
crash_infooutput files.
Implemented the following enhancements and bug fixes for CFS:
Improved CFS performance that now uses compression contexts with the default compression library of zstd.
Changed the behavior of the cfs_compression_ratio function. Now the function returns
NaNfor uncompressed relations.
Fixed an issue with upgrading the Postgres Pro Enterprise cluster using pg_upgrade. When upgrading, some free space map files could contain zeroed pages and, therefore, the FSM should have been considered damaged. Now such pages are not copied to the new cluster.
Fixed an issue for unlogged tables with page conversion from 32-bit to 64-bit format after migration to Postgres Pro Enterprise using pg_upgrade. When a page was converted only in memory, without writing it to disk, and autovacuum removed corresponding
pg_xactsegments at the same time, transaction status in tuples was lost, leading to errors on access.Fixed an issue where the messages generated during lock capture contained incorrect 64-bit XIDs.
Fixed an issue, which could cause autovacuum to cycle through some databases while failing to vacuum others. This happened due to autovacuum “soft” limits, which could be set by the vacuum_freeze_table_age and vacuum_multixact_freeze_table_age configuration parameters. These limits were removed. They are no longer required, since the autovacuum_freeze_max_age and autovacuum_multixact_freeze_max_age parameters can now be changed without restarting the server.
Fixed an issue that could occur during collection of vacuum interruption statistics for relations and indexes shared across all databases in a cluster.
Fixed a bug that caused daterange_inclusive to fail when processing empty ranges.
Ended support for CentOS 7, RHEL 7, Oracle Linux 7, AlterOS 7.5, Debian 10, ALT 8/9, and SLES 12.
Fixed a memory leak in the auto_dump extension.
Fixed a bug in postgres_fdw that could occur when accumulating results of
UPDATE ... RETURNINGandDELETE ... RETURNINGcommands. Previously, the connection state of the remote server would not update after the command execution.Upgraded multimaster to provide the following enhancements:
Enhanced the mechanism of synchronization point creation when adding a new node to the cluster that fixes the potential issue of data divergence on nodes.
Enhanced filtering of replicated transactions that fixes the potential issue of data divergence on nodes.
Implemented filtering of the
ALTER DATABASEcommand type to execute these commands locally on the current node. Previously, executing these commands could cause an error due to an attempt to replicate them to all cluster nodes. For more information about the commands that can only be executed locally, refer to Section F.33.6.1.
Upgraded pgpro_bindump to provide the following bugfixes:
Fixed backup failures due to erroneous inclusion of unlogged tables and temporary tablespaces. Previously, if such files were deleted during the backup process, pg_probackup3 would treat them as missing and abort the operation.
Fixed incorrect Postgres Pro edition detection in the PRO data source mode for Shardman.
Upgraded pgbouncer to version 1.25.1 for each OS, except ALT SP 8, for which pgbouncer 1.24.0 is still shipped.
Upgraded pg_proaudit to provide the following enhancements:
Added the pg_proaudit.log_rows configuration parameter that enables or disables logging of the number of rows affected by an SQL command.
Added a new event log field: connection duration.
DISCONNECTevents now contain the total connection duration alongside other connection parameters.
Upgraded pg_probackup to version 2.8.13 Enterprise, which provides the following new features, optimizations, and bug fixes:
Added verification and validation of
recovery-target-namein the WAL archive during recovery. This prevents situations where the Postgres Pro cluster fails to start due to an unreachable recovery target. If a named recovery target was created before the last backup, the recovery process now correctly checks its existence.Added the ability to pass parameters to a remote agent in a configuration file format to improve flexibility when working with backup agents in distributed environments.
Implemented compatibility with the pgpro_cpumeter extension. The
pgpro_cpumeter.statfile is now added to the exclusion list during backup.Added support for virtual-hosted-style requests for S3 storages, including automatic detection of virtual-hosted-style based on the hostname format (when the hostname starts with the bucket name) and improved compatibility with various S3 API implementations (AWS S3, SberCloud, and others). In virtual-hosted-style URLs, the bucket name is included in the hostname, eliminating the need to add it to the file path.
Fixed an issue where the
--skip-block-validationflag was being ignored during backup. Previously, this resulted in an error if the cluster contained pages with invalid checksums in their headers. This is critically important when enabling checksums in older clusters that may have pre-existing checksum issues. Also, a warning is now displayed when--skip-block-validationis used.Improved backup status reporting. The backup status is now set to
DONEbefore the validation phase. Backup metadata is written twice: before validation and after backup completion. Theshowcommand now displays a more accurate backup status during long-running validation checks.Fixed an issue that could result in a crash if the
backup_content.controlfile was deleted before theDELTAbackup.
Upgraded pgpro_controldata to version 18.2.0.
Upgraded pgpro_cpumeter to remove the warning message provoked by the empty
machine_idvalue.Upgraded pgpro_datactl to version 1.3 to provide the following enhancements and bug fixes:
Added the
estimatecommand to evaluate compression ratios across different compression algorithms, analogous to thecfs_estimate(relation)function.Added the
--per-fileoption for thestatcommand to collect detailed statistics for each file.Added support for Russian localization.
Fixed compression level ranges for compression algorithms.
Fixed the
unpackcommand behavior. Previously, compressed files were overwritten when unpacked to the same directory and incorrectly deleted when unpacked to a different location.
Upgraded pgpro_scheduler to version 2.12.2, which provides an improved mechanism for calculating the number of required background workers, along with more detailed hint and warning messages about insufficient background workers. For more information, refer to Calculating Required Background Workers.
Upgraded pgpro_stats to provide the following enhancements and bug fixes:
Restored the possibility to track aggregate statistics for sessions, which had previously been removed as unused. Whether aggregate statistics for the sessions are tracked is controlled by the
pgpro_stats.track_sessionsconfiguration parameter.Improved the behavior of session-tracing functions. The
pgpro_stats_trace_insertandpgpro_stats_trace_updatefunctions now fail with an error if some filter attribute is listed in the passed sequence of key-value pairs more than once. If a wrong argument is passed to thepgpro_stats_trace_updatefunction, the filter no longer gets updated. Thepgpro_stats_trace_showfunction now returns exactly the values ofexplain*attributes that were specified for the filter.Fixed an issue to avoid crash when two or more constants are marked as having the same location in the SQL statement text.
Upgraded pgpro_tune to provide the following changes:
Added the autovacuum_vacuum_scale_factor and autovacuum_vacuum_insert_scale_factor parameters to the pgpro_tune
default.tunepreset configuration.Fixed an issue with pgpro_tune not being able to process preset names with whitespaces when specifying a preset in the initdb
PGPRO_TUNEenvironment variable. Now if pgpro_tune fails, initdb also fails.Fixed the
default.tunepreset, which now correctly displays the order ofeffective_io_concurrencyandrandom_page_costparameter values depending on the drive type.
Upgraded rum to provide the following changes:
Added functions that allow inspecting all types of RUM index pages at a low level.
Fixed a bug that caused scanning of multi-column
RUMindexes to return incorrect results. This happened when the index was created with order_by_attach set totruefor one of the columns, and a query specified conditions for several index columns, including the one withorder_by_attach.
E.1.2. Migration to Version 14.22.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.