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 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.

  • 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 BufferPin wait 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_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 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 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_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_cpumeter function 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_sync value. 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 --convert failed 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 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.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, 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_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 template plan from the permanent pgpro_multiplan storage.

    • Added the new pgpro_multiplan_template_hintset_update function that replaces the generated hint set for the template plan 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 template plan 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_string value.

  • 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_result_cache to version 1.1.1 to provide the following enhancements and bug fixes:

  • 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 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.