Date: 2026-06-08
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-dir option.
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
EXCEPTION clause 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_estimate function.
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
DATABASE execution. The issue occurred because system
interrupts were not processed properly while the command was
waiting to acquire a lock for cfs_gc_lock_file.
Removed the functionality of the optimizer for adding
Index Only Scan plan nodes below Append
nodes that are generated for OR clauses if the
enable_appendorpath parameter is set to on.
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 AUTHENTICATE events 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 dst
field for events logged in CEF format.
Fixed an issue with excessive memory usage when processing
DISCONNECT events. 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-path option.
Fixed incremental backups in PAGE mode with
the --stream option. 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-path option
to exclude specific files or directories from backup in
PRO mode.
Optimized the backup performance by excluding temporary files
of the postmaster process.
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 the libpb3-encoder package
instead of the erroneous libpgprobackup3.
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
BLCKSZ parameter 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 baseline and
template values for the plan_type
argument and contains the new wildcards
argument for template plans. Also added the following arguments
to this function: sample_string to specify
the query with constants and status for
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 baseline
value for the plan_type argument.
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_update to
pgpro_multiplan_update_hintset
pgpro_multiplan_template_hintset_update to
pgpro_multiplan_update_template_hintset
pgpro_multiplan_baseline_cost_update to
pgpro_multiplan_update_baseline_cost
Removed the constants and
prep_consts fields from the
pgpro_multiplan_captured_queries
view. These fields were redundant since query constants are contained
in the sample_string field 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 NOTHING rule.
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 ... SELECT
Fixed an issue where the sample_string
values 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_hash value 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 executor background
worker is started, the database manager now
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. Now
schedule.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.track set to all.
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 to true.
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.