E.1. Postgres Pro Enterprise 16.11.1 #
Release Date: 2025-12-22
E.1.1. Overview #
This release is based on PostgreSQL 16.11 and Postgres Pro Enterprise 16.10.2. All changes inherited from PostgreSQL 16.11 are listed in PostgreSQL 16.11 Release Notes. As compared with Postgres Pro Enterprise 16.10.2, this version provides the following changes:
Improved the search mechanism for matching
mcharandmvarcharstrings using theLIKEoperator. 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.
Implemented password masking in the server log by default to protect sensitive data from being revealed.
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.
Implemented the following enhancements and bug fixes for CFS:
Added the cfs_compression configuration parameter that allows you to temporary disable CFS compression. It speeds up the migration of large compressed tables.
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.
Fixed an issue with the vacuum process, which could wait indefinitely to freeze a page due to the
BufferPinwait event. The issue could occur in case there was a buffer that was constantly used by backends.Fixed a bug that caused incorrect calculation of the internal vacuum_freeze_min_age threshold, which should equal half of the autovacuum_freeze_max_age value. Previously, this bug could cause internal miscalculation of autovacuum parameters and, consequently, unnecessary vacuum runs.
Added new values of the
PGPRO_TUNEenvironment 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 ldap2pg utility that automates the creation, update, and removal of Postgres Pro roles and users from an enterprise directory.
Added the pg_trgm_mchar extension, which allows fast trigram-based search for similar
mcharandmvarcharstrings. This extension also provides support of GIN indexes formcharandmvarchartypes. This may be useful for 1C.Added the pgpro_planner extension that provides query transformations and optimizations to produce efficient query execution plans and improve performance.
Added the pgpro_cpumeter extension, which provides access to a new CPU usage monitoring system function. This
pgpro_cpumeterfunction continuously collects and records information about CPU cores used by Postgres Pro server processes.Upgraded aqo to fix an issue where the aqo_cleanup function did not remove data in the basic mode.
Upgraded the BiHA solution to provide the following optimizations and bug fixes:
Fixed an issue where the leader was lost after non-incremental upgrade of a BiHA cluster from Postgres Pro Enterprise 16.8 or lower to 16.10.
Fixed a bug that occurred when the MIN value of the synchronous_standby_names configuration parameter was higher than 0 and the current number of standbys was higher than the
num_syncvalue. This could cause hanging of transactions in case of replication hanging.Fixed a bug where biha.add_to_ssn, biha.remove_from_ssn, and biha.set_ssn functions modified the list of synchronous standbys of the synchronous_standby_names parameter on the leader node only.
Fixed a bug where
bihactl init --convertfailed when executed in a Postgres Pro Enterprise instance with configured pg_proaudit.Fixed an issue of multiple error messages caused by large heartbeats that might not fit into the shared memory buffer. The issue was solved by decreasing the size of heartbeats written to WAL.
Fixed memory leaks caused by incorrect error handling.
Fixed redundant memory allocation checks.
Upgraded multimaster to provide the following 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
pageinspectto fix an issue with thepage_headerfunction, which returned incorrect information fordouble xmaxand some index pages. Specifically, the sequence of columns was confused and theprune_xidvalue was returned in thexid_basecolumn. Now the information is returned correctly.Upgraded pg_filedump to version 18.0.
Upgraded pg_hint_plan to version 1.6.2 to re-read hint strings if hints were added outside the standard planner. This functionality is required to provide interoperability with the pgpro_multiplan extension when working with plans that are based on hint sets.
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, andMOVE.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.
AUTHENTICATEevents 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
INSERTcommand followingCREATEwithin anonymous code blocks (theDOcommand) 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.controland displayed in theshowcommand output.Improved the behavior during restore from read-only media, including more informative warning messages.
For
archive-pushandarchive-getoperations 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
PGDATAand the--pgportoption. Also added the--forceflag to perform backups even when these values mismatch.Fixed handling of external tablespaces during incremental restore. When using the
--forceflag, the tablespace contents are no longer overwritten.Fixed a problem with the
backupcommand holding the replication slot after successful completion.Fixed the identifier conflict for the
--wal-treeoption 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_multiplan to version 1.4, which provides the following enhancements and bug fixes:
Improved the stability of the auto_approve_plans mode for real-time query replanning with the enabled pgpro_multiplan.auto_capturing parameter.
Added the new pgpro_multiplan_remove_template function that removes the specified
templateplan from the permanent pgpro_multiplan storage.Added the new pgpro_multiplan_template_hintset_update function that replaces the generated hint set for the
templateplan with the specified set of custom hints.Improved messages for errors that can occur when registering queries and freezing query plans.
Changed the logic of specifying values of the pgpro_multiplan.wildcards parameter. Now this parameter accepts a single regular expression rather than a comma-separated list of multiple expressions.
Fixed an issue where the
templateplan was not identified and applied if constants in the corresponding query were changed.Fixed an issue in pgpro_multiplan that could cause a server crash when the same query was executed repeatedly due to incorrect handling of the
sample_stringvalue.
Upgraded pgpro_pwr to version 4.12, which provides optimizations and bug fixes. Notable changes are as follows:
Improved
take_sampletime 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_result_cache to version 1.1.1 to provide the following enhancements and bug fixes:
Implemented automatic cache invalidation at the cluster level using WAL files. It can be enabled using the pgpro_result_cache.consistent and pgpro_result_cache.wal parameters.
Added a possibility to set the pgpro_result_cache.max_memory_size parameter at runtime using the
ALTER SYSTEMcommand.Added support for the new no_result_cache hint that allows excluding specific queries from caching.
Added two optional
limitandoffsetarguments to the result_cache hint. These arguments allow you to restrict the number of rows returned from cached result sets and skip certain rows before returning.Fixed an issue that could occur in pgpro_result_cache when caching a large number of simple queries by changing the algorithm for storing cached results.
Fixed a segmentation fault that could occur when reloading the configuration file after the pgpro_result_cache.consistent parameter was set to
on.
Upgraded pgpro_scheduler to fix an issue with incorrectly recording timestamp values in the service table associated with the
get_logfunction. 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_statementsandpgpro_stats_totalsviews. These statistics were added to pg_stats_statements in Postgres Pro 18. Related functions are updated accordingly.Added the new
pgpro_stats_statements_filteredfunction to filter statistics similar to those provided in thepgpro_stats_statementsview by one or several fields:userid,dbid,queryid, andplanid. Calling this function is faster than querying thepgpro_stats_statementsview 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
SETstatements 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 pgpro-orautl to version 2.1.
Upgraded pgvector to version 0.8.1.
Upgraded pldebugger to version 1.1.6.
Upgraded pljava to version 1.6.10.
Upgraded plpgsql_check to version 2.8.5.
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.
Upgraded utl_mail to fix an issue with incorrect processing of some email address formats. Now, a number of common formats, including
root@localhost, are processed correctly.Improved messages in sr_plan for errors that can occur when registering queries and freezing query plans.
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 16.11.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.
Important
To upgrade your BiHA cluster from Postgres Pro Enterprise 16.10 or earlier to Postgres Pro Enterprise 16.11, see migration instructions for BiHA.
To upgrade the citus extension from version 12.1 to version 13.0, see the upgrade instructions.
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 16.3.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.
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 16.