E.1. Postgres Pro Enterprise 15.18.1
Date: 2026-06-08
E.1.1. Overview
This release is based on PostgreSQL 15.18 and Postgres Pro Enterprise 15.17.1. All changes inherited from PostgreSQL 15.18 are listed in PostgreSQL 15.18 Release Notes. As compared with Postgres Pro Enterprise 15.17.1, this version also provides the following changes:
Added the log_parameter_types configuration parameter that controls whether each bind parameter value for a prepared statement in log messages is prefixed with its data type. For example,
[integer] $1 = '42'.Restricted changes to the hba_file configuration parameter in the certified edition of Postgres Pro Enterprise. For enhanced security, it is also recommended to use pg_integrity_check, which automatically verifies the integrity of critical files before server startup.
Added build IDs of executables and shared libraries to crash_info output files.
Improved standby promotion performance by properly accounting for all changes to free space map blocks on a standby server during write operations. Previously, buffer page eviction could cause free space map inconsistencies during promotion under certain workloads, leading to standby slowdowns after promotion without causing errors.
Fixed an issue with pg_dump failing to dump data due to the dependency on custom data types if executed with the
--transfer-diroption.Fixed an issue that could occur when using autopreparing for queries containing hints. Now autopreparing skips such queries, allowing you to use it concurrently with pg_hint_plan.
Fixed an issue with estimating the number of join rows when the enable_compound_index_stats parameter is set to
on.Fixed false positives for checks enabled by the wal_consistency_checking option.
Fixed a memory leak that could occur while processing the
EXCEPTIONclause when user PL/pgSQL code executed an autonomous transaction.Fixed memory estimation for hash joins by accounting for the memory used by batches. Previously, this memory was not included in total memory consumption. Hash joins now also balance the in-memory hash table size depending on the number of batches, which prevents excessive disk usage.
Fixed an issue that could cause resource prioritization to be disabled in a session after any error during a query.
Implemented the following enhancements and bug fixes for CFS:
Added support for indexes and TOAST-tables when estimating their compression ratio using the
cfs_estimatefunction.Improved error messages that are logged for damaged CFS blocks. Now the error message includes an exit code and an error message from the corresponding compression library.
Fixed an issue where enabled CFS could slow the
DROP DATABASEexecution. The issue occurred because system interrupts were not processed properly while the command was waiting to acquire a lock forcfs_gc_lock_file.
Removed the functionality of the optimizer for adding
Index Only Scanplan nodes belowAppendnodes that are generated forORclauses if the enable_appendorpath parameter is set toon. This functionality could cause incorrect query execution plans and resulting data.Added the pgpro_validate utility to check data integrity of a Postgres Pro instance.
Upgraded aqo to fix a segmentation fault that could occur after aborting a nested autonomous transaction for which aqo was used. Now aqo checks the nesting level of autonomous transactions and does not clear its local cache when aborting nested transactions.
Upgraded orafce to version 4.16.5.
Upgraded pg_query_state to fix an issue that could cause the module to hang while waiting for the response from the backend that executes the investigated query.
Upgraded pg_proaudit to provide the following enhancements and bug fixes:
Added the pg_proaudit.log_file_mode configuration parameter that specifies permissions for new event log files created by pg_proaudit. Note that regardless of this parameter, the server owner always retains access to the log files.
Added a new event field for all types of events logged in CSV files and syslog: IP address of the event source. Previously, this field was displayed only for
AUTHENTICATEevents logged in the CEF format.Extended the use of the pg_proaudit.log_rows configuration parameter that enables or disables logging of the number of rows affected by an SQL command. Now the number of affected rows is written for all formats of logged events.
Added validation of the unique ID of the event (UUID) to avoid invalid memory access.
Fixed an issue with incorrect filling of the
dstfield for events logged in CEF format.Fixed an issue with excessive memory usage when processing
DISCONNECTevents. Previously, a hash table sized proportionally to max_connections caused unnecessary memory consumption when the value was large. The data is now stored more efficiently.Fixed a parser error in pg_proaudit. Previously, pg_proaudit left some characters unescaped when logging events in the CEF format. Now, symbols are escaped correctly in accordance with the CEF specification.
Upgraded pg_probackup to version 2.8.14 Enterprise to provide the following improvements and bug fixes:
Added support for absolute paths in the
--wal-file-pathoption.Fixed incremental backups in
PAGEmode with the--streamoption. With this combination of parameters, WAL files are now correctly saved both inside the backup and in a separate archive.
Upgraded the pgpro_bindump module to include the following improvements and bug fixes:
Added support for the
--exclude-pathoption to exclude specific files or directories from backup inPROmode.Optimized the backup performance by excluding temporary files of the
postmasterprocess.Fixed an incorrect package name in the error message that appeared when the pgpro_bindump failed to load
libpb3_encoder.so. The message now correctly recommends installing thelibpb3-encoderpackage instead of the erroneouslibpgprobackup3.Fixed an issue with the CFS garbage collector (GC) being blocked by the backup process, potentially causing write locks during long backups. Both processes now lock only specific data files briefly, avoiding mutual blocking.
Upgraded pgpro_datactl to version 1.5 to fix an issue with compressing uncompressed tablespaces. Previously, compression would fail if any block size exceeded the
BLCKSZparameter value.Upgraded pgpro_multiplan to version 1.6, which provides the following enhancements and bug fixes:
Implemented the ability to restore baselines and template plans from plan backups. For this, the pgpro_multiplan_restore function now accepts the
baselineandtemplatevalues for theplan_typeargument and contains the newwildcardsargument for template plans. Also added the following arguments to this function:sample_stringto specify the query with constants andstatusfor future usage.Implemented the ability to add plans to a baseline using the pgpro_multiplan_register_query and pgpro_multiplan_freeze functions. The last function now can accept the
baselinevalue for theplan_typeargument.Implemented the ability for pgpro_multiplan to register executed prepared statements automatically when the pgpro_multiplan.auto_tracking parameter to is set to
on.Added the new pgpro_multiplan_enable, pgpro_multiplan_enable_baseline, and pgpro_multiplan_enable_template functions that allow enabling and disabling certain existing plans.
Renamed the following functions:
pgpro_multiplan_hintset_updateto pgpro_multiplan_update_hintsetpgpro_multiplan_template_hintset_updateto pgpro_multiplan_update_template_hintsetpgpro_multiplan_baseline_cost_updateto pgpro_multiplan_update_baseline_cost
Removed the
constantsandprep_constsfields from the pgpro_multiplan_captured_queries view. These fields were redundant since query constants are contained in thesample_stringfield value.Fixed an issue that could cause an assertion failure when trying to freeze the same plan for the second time.
Fixed an issue that could cause an assertion failure when trying to register a query with the
DO NOTHINGrule.Fixed an issue that could cause an assertion failure when using the pgpro_multiplan_register_query function with incorrect optional arguments specifying types of query parameters.
Fixed a segmentation fault that could occur when trying to register a query with a common table expression (CTE) or
INSERT ... SELECTFixed an issue where the
sample_stringvalues for baselines were saved with parameters rather than constants, which could cause errors when managing these baselines, in particular, when updating their costs using the pgpro_multiplan_update_baseline_cost function.Fixed an issue where baselines did not save non-default values of configuration parameters, which could cause queries to produce plans different from fixed plans in another environment.
Fixed an issue with incorrect check of the
table_hashvalue for template plans, which could cause applying these plans to inappropriate queries.
Upgraded pgpro_pwr to version 4.13, which adds support for cluster-wide Postgres Pro Shardman statistics and provides optimizations and bug fixes.
Upgraded pgpro_scheduler to version 2.13.0, which provides the following changes:
Improved logging mechanism. Log messages are more consistent and informative. When a
cron job executorbackground worker is started, thedatabase managernow writes a log message containing the worker's process identifier (PID). This makes it easier to trace worker activity and correlate log entries.Fixed an issue with the
schedule.get_self_id()function returning an incorrect job ID for cron jobs. Nowschedule.get_self_id()works as expected in both scheduled and one-time jobs, returning the proper job ID.Fixed an issue with deactivating a cron job with
next_time_statement. Previously, if this job was deactivated while being executed, it could still remain active. Now, the job is immediately deactivated regardless of its execution state.
Upgraded pgpro_stats to provide the following bug fixes:
Fixed excessive memory consumption by a query that used pgpro_stats with
pgpro_stats.trackset toall. With this setting, a function that assigned plan IDs was called multiple times, and the accumulated memory was not optimally released.Updated autopreparing and pgpro_stats to fix issues that could occur with autoprepared query normalization in pgpro_stats. Now for proper query normalization, autopreparing stores the cached plan together with certain additional information to be passed to pgpro_stats when the query is executed.
Upgraded pgpro_tune to provide the following enhancements:
Improved the utility output to include the used preset and display the correct format of date and time when configuration parameters were applied.
Updated presets to improve performance of Postgres Pro.
Fixed an issue where the shared_buffers configuration parameter was calculated incorrectly when using initdb with the enabled pgpro_tune extension. This issue could cause the command to run slower.
Upgraded pg_variables to support Postgres Pro/ PostgreSQL 18.
Upgraded rum to improve performance of RUM index search using the index operators
<=|and|=>when the order_by_attach index storage parameter is set totrue.
E.1.2. Migration to Version 15.18.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.
Starting from Postgres Pro Enterprise 15.5.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 15.4.2, if there are multitransactions in your database, as it may cause data corruption.
When upgrading to Postgres Pro Enterprise versions starting with 15.3.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 15.