Date: 2026-06-11
This release is based on PostgreSQL 18.4 and Postgres Pro Standard 18.3.1. All improvements inherited from PostgreSQL 18.4 are listed in PostgreSQL 18.4 Release Notes. Other major changes and enhancements are as follows:
Implemented support for the Built-in High Availability (BiHA) solution that provides the functionality to deploy and manage a cluster with physical replication and built-in failover, high availability, and automatic node failure recovery. The BiHA solution is managed by the bihactl utility and the biha extension. Previously, the BiHA solution was available only for Postgres Pro Enterprise 16 and higher, as well as for Postgres Pro Standard 17.9 and higher.
BiHA for Postgres Pro Standard provides the full functionality, including cascading replication and multi-level geographical distribution and disaster resilience.
Note that the BiHA solution for Postgres Pro Standard is not supported on Elbrus CPU architecture.
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'.
Optimized the mechanism for join selectivity estimation to work with large MCV lists (most common values). Its algorithmic complexity was quadratic and caused poor performance while working with large target values for table column statistics. This optimization can be useful for 1C workloads.
Restricted changes to the hba_file configuration parameter in the certified edition of Postgres Pro Standard. 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 planning for self-comparison conditions, such as
col = col. Previously, these constructions
could lead to incorrect cardinality estimation and cause a
sequential scan to be chosen instead of a more optimal plan. Such
strict comparisons are now transformed into an equivalent
IS NOT NULL check when it is safe to do so,
resulting in better plan choices and more accurate cardinality
estimation.
Fixed an issue that could cause a backend to stop when calling the pg_diagdump function with the disabled crash_info configuration parameter. Now an error message is returned.
Fixed an issue with restoring a cluster using
pg_dump/pg_dumpall.
Previously,
pg_dump/pg_dumpall
could generate an invalid CREATE DATABASE command
with a duplicated locale_provider parameter.
Now, the parameter is produced only once, avoiding restore and upgrade
errors.
Fixed an issue that could cause pg_dump to
fail when trying to dump data with the --statistics
or --statistics-only option. The issue could occur
if a table had more than one index and one of them was an index
on expressions.
Fixed excessive memory usage that could cause significant increase in query execution time and server crashes with subsequent recovery when updating rows in tables with generated columns.
Fixed an issue with estimating the number of join rows when the
enable_compound_index_stats parameter is
set to on.
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 pgbouncer_exporter utility to export Prometheus metrics for pgbouncer.
Added the pg_hint_plan module that allows managing query execution plans by providing hints to the planner. Previously, this module was only available with Postgres Pro Enterprise.
Added the pgpro_validate utility to check data integrity of a Postgres Pro instance.
Upgraded aqo to version 4.1, which provides the following enhancements and bug fixes:
Added the new aqo_storage_usage function that allows you to get current and maximum sizes of aqo storage and allocated dynamic shared memory.
Optimized the internal structure of the
aqo_data storage, as well as improved the
mechanisms for allocating dynamic shared memory and lock usage
when working with storage data. These enhancements allowed
fixing an issue with updating aqo_data
storage that was caused by exclusive locks on the underlying
hash table and resulted in constant growing of idle
in transaction sessions and unstable
aqo operation.
Fixed 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 the ODBC driver to version 18.00.0001.
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 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.
Upgraded pgpro_datactl to version 1.5.
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_stats
to fix 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.
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 pgvector to version 0.8.2.
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.
Removed support for the pg_tsparser extension.
Removed support for the shared_ispell module.
If you are upgrading from Postgres Pro Standard 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.
To migrate from PostgreSQL or a Postgres Pro Standard release based on a previous PostgreSQL major version, see the instructions in Postgres Pro Standard 18.0.1 Release Notes.