E.1. Postgres Pro Standard 18.4.1 #

E.1.1. Overview
E.1.2. Migration to Version 18.4.1

Date: 2026-06-11

E.1.1. Overview #

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.

E.1.2. Migration to Version 18.4.1 #

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.