E.1. Postgres Pro Enterprise 13.22.1
Release Date: 2025-09-22
E.1.1. Overview
Important
The final release of Postgres Pro 13 is scheduled for November 2025. No further updates (including CVE patches and bug fixes) will be provided for this version as of December 1, 2025. If you are using version 13, we recommend that you upgrade to the latest major version no later than November 30, 2025.
This release is based on PostgreSQL 13.22 and Postgres Pro Enterprise 13.21.1. All changes inherited from PostgreSQL 13.22 are listed in PostgreSQL 13.22 Release Notes. As compared with Postgres Pro Enterprise 13.21.1, this version also provides the following changes:
Improved performance by avoiding invalidation of the
pg_internal.init
file when analyzing catalog tables, particularly when statistics for these tables change frequently. This may be useful for 1C.Improved performance by reducing the number of locking requests for the pg_attribute and pg_statistic tables for queries with a large number of relations that are not present in the system cache. This may be useful for some usage scenarios with 1C.
Improved performance of non-transactional truncate operations on temporary tables and fast truncate operations. This is useful for 1C.
Optimized the behavior when working with the
COALESCE
function. Now this function is replaced with one of its arguments if all other arguments were evaluated tonull
. This allows improving the selectivity of query clauses and producing better execution plans.Introduced the following changes to the implementation of crash_info:
Added the crash_info_timer, crash_info_timer_interval, and crash_info_query_threshold configuration parameters that allow profiling long queries in
crash_info
output files.Extended the diagnostic information that the crash_info_dump configuration parameter can specify to write in case of a backend crash. By default, now the general information on the signal is dumped and for Linux x64, also the information on the processor state and bytes near RIP (return instruction pointer). All this ensures better diagnostics, in particular, in case of
SIGILL
(illegal instruction) signals. The way of dumping stack files in case of crashes has also been changed for Linux x64. Besides,memory_context
has been removed from the default list of sources to be dumped in order to avoid failures that could occur when writing the diagnostic information.
Implemented the following enhancements and bug fixes for CFS:
Improved compressed tablespace operations on s390/s390x architectures.
Improved the compression ratio estimation for tables using the
cfs_estimate(relation)
function. Note thatcfs_estimate(relation)
should be used only after a checkpoint to avoid incorrect estimations.Disabled truncation for compressed relations during vacuum operations.
Removed encryption support for CFS, including the
cfs_encryption
configuration parameter.
Fixed excessive memory usage by the disabled built-in connection pooler.
Fixed an issue with autonomous transactions, which caused a failure to release resources, leading to accumulation of cached plan references.
Fixed page image inconsistency during heap insert on an empty page. Previously, this could result in incorrect page contents on standby servers.
Fixed an issue 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_xact
segments at the same time, transaction status in tuples was lost, leading to errors on access.Fixed a possible race condition in the
walreceiver
process.Fixed an issue in
LISTEN
/NOTIFY
queue handling, which caused failure to obtain transaction status. Previously,VACUUM FREEZE
could advancedatfrozenxid
too far forward.Fixed an issue where the planner could choose non-optimal execution plans for queries that use the
LIKE
operator with themchar
data type.Ended support for Ubuntu 20.04.
Upgraded aqo to provide the following bugfixes:
Fixed the race condition when calling the
aqo_cleanup
function from different sessions.Fixed an issue where aqo learning data was not saved for queries that use materialization.
Upgraded auto_explain to move the planning time of a query in the output to a separate line under the planner tree, as in the
EXPLAIN
output. With the former location of the planning time in the output, pgbadger could not recognize the information on a query and therefore did not include it in the report.Fixed an issue where fasttrun could fail to fully truncate temporary tables if the cached segment count was smaller than the actual number of file segments on disk, leaving disk space occupied even though the table appeared empty.
Upgraded multimaster to provide the following enhancements and bug fixes:
Improved the ability of the node to return to normal operation after catchup by accelerating the transaction filter building process at the start of
walreceiver
.Fixed a bug that caused recovery hanging and potential data desynchronization when adding a new node.
Fixed unexpected errors in execution of DDL commands that were caused by incorrect processing of catalog cache invalidation messages.
Implemented the ability to configure LDAP authentication for pgbouncer by means of PAM (Pluggable Authentication Modules). For more information, see LDAP Authentication Configuration for pgbouncer.
Updated the pg_freespacemap module to include the
pg_freespace_relation_logical_blocks
function for computing the disk space used by relation forks. This function works with both compressed and uncompressed tables.Fixed a memory allocation issue in pg_prewarm, which could previously produce errors like “invalid memory alloc request size” when
shared_buffers
was set to a huge value.Upgraded pg_proaudit to provide the following enhancements:
Added support for CEF format for event log files.
Adjusted pg_proaudit output.
xid
andvxid
fields are no longer displayed if they are zero.
Upgraded pg_probackup to version 2.8.10 Enterprise, which provides the following new features, optimizations, and bug fixes:
Added the
--wal-tree
option for theadd-instance
command to store archived WAL files in a tree-like structure. This improves WAL operation performance with large volumes of logs.Added the
postgres-edition
field to theshow
command output in theJSON
format to display DBMS edition information.Improved the
--dry-run
option operation during tablespace recovery. The operation estimation and plan output are now more precise.Fixed an issue related to the retention window calculation. The time value is now taken from the host where pg_probackup is running. The retention window is now calculated correctly even with the timezone differences between the servers.
Fixed a problem with the
archive-get
command operation. Thepbk_prefetch
directory is now created with correct access rights, inheriting permissions fromPGDATA
.Fixed false failure of the
checkdb
command in the remote mode during concurrentTRUNCATE
operations or table drops on standby nodes.
Updated the pgpro_datactl utility to include the following new features:
Upgraded pgpro_pwr to version 4.10, which completely redesigns the report and supports PostgreSQL 18.
Upgraded pgpro_scheduler to version 2.12, which provides the following bug fixes and improvements:
Added the
schedule.clean_at_jobs_done
andschedule.clean_at_jobs_done
functions that can cleanschedule.at_jobs_done
by removing old records.Provided the ability to change the next start time for a cron job that has
next_time_statement
by updatingcron
,date
,dates
, orrule
using theset_job_attributes()
function.
Upgraded pgpro_stats to fix a segmentation fault that could occur when defining custom metrics. The error originated from a memory allocation issue, which was fixed.
Fixed an issue with incorrect configuration parameter values specified when using the
1c.tune
preset of the pgpro_tune utility.Upgraded pg_query_state to version 1.2 to add the pg_progress_bar and pg_progress_bar_visual functions that allow monitoring the current progress of query execution.
Added the
--enable-large-mem-buffers
option to the pg_restore to allow restoring a database that does not contain largebytea
values and records with severaltext
values as a non-superuser.Fixed an issue in postgres_fdw, which could cause
UPDATE
andDELETE
queries with aRETURNING
clause to fail with “out of memory for query result” errors. NowRETURNING
results are processed row-by-row.Upgraded rum to provide the following bugfixes:
Fixed a segmentation fault caused by invalid memory access when a buffer pointer was used after the underlying buffer was modified by another thread.
Fixed an index scan infinite loop when using multiple
ORDER BY
clauses.
E.1.2. Migration to Version 13.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.
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 13.13.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 13.12.2, if there are multitransactions in your database, as it may cause data corruption.
When upgrading to Postgres Pro Enterprise versions starting with 13.11.1, make sure to upgrade pg_probackup to version 2.6.4 or higher since lower versions are incompatible with these Postgres Pro Enterprise versions.
If you have previously migrated to Postgres Pro Enterprise 13.3.1 or lower, you must run the REINDEX
command to rebuild GIN indexes.
If you are upgrading from Postgres Pro Enterprise versions 13.2.2 or lower and take PTRACK backups using pg_probackup, retake a full backup after upgrade.
If you have an installation of Postgres Pro Enterprise 13.2.1 that contains compressed tablespaces created without explicitly specifying the pglz
algorithm, perform an upgrade as follows. Before upgrading, make a complete dump using pg_dumpall. Upgrade Postgres Pro Enterprise, re-create your database cluster, and restore the dump. Then you can create compressed tablespaces in the same way as before.
If you have already upgraded your installation with CFS tablespaces from Postgres Pro Enterprise 13.2.1, and you cannot access the compressed data, call the support team.
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 13.