E.1. Postgres Pro Standard 18.6.1 #
Date: 2026-09-03
E.1.1. Overview #
This release is based on PostgreSQL 18.6 and Postgres Pro Standard 18.4.1. All improvements inherited from PostgreSQL 18.6 are listed in PostgreSQL 18.6 Release Notes. Other major changes and enhancements are as follows:
Added the wal_sender_shutdown_timeout server variable to limit replica synchronization waits during shutdown. By default, senders still wait forever for synchronization.
Reworked the
pg_stats_vacuum_tables,pg_stats_vacuum_indexes, andpg_stats_vacuum_databasefunctions that provide vacuum statistics. Previously, these functions could returnNULLinstead of an empty result set when no statistics were found for the specified relation or database. Also fixed incorrect inclusion of cluster-wide relation statistics in per-database queries, and added error reporting for invalid input arguments.Returned the vanilla implementation of the hba_file configuration parameter, as the previous fix interfered with Patroni and caused server startup failures.
Fixed an issue where the optimizer did not recognize a join between a relation and the same relation with the
GROUP BYclause as a self join, which could cause erroneously high selectivity estimations of join conditions.Fixed recovery failures caused by missing intermediate relation segments in backups taken with pg_basebackup. Gaps between the segments are now detected and filled during the recovery process.
Inherited the PostgreSQL fix that prevents truncation of CLOG that is still needed by unread
NOTIFYmessages. This fix prevents “could not access status of transaction” errors when a backend is slow to absorbNOTIFYmessages.Added support for Ubuntu 26.04 for ARM architecture.
Added the pgpro_stats_2 extension, which provides statistics on planning and execution of all SQL statements executed by the server. As compared to pgpro_stats, pgpro_stats_2 improves statistics collection performance using redesigned algorithms. You can disable some functionality at server startup via configuration parameters, allowing the extension to collect only the statistics you need and reduce overhead. The extension is currently experimental and is not recommended for production use.
Updated aqo to provide the following enhancements and bug fixes:
Simplified the steps to enable aqo. Now you do not need to execute the
CREATE EXTENSIONcommand for aqo operation. This command is required only for using aqo functions and views.Fixed an issue with statistics collection in the
intelligentmode, which caused incorrect aqo learning.Fixed a segmentation fault that could occur when calculating the
fssvalue of a subquery.
Updated the BiHA solution to provide the following features, optimizations, and bug fixes:
Upgraded biha to version 1.9.
Implemented a new approach of the BiHA configuration. BiHA configuration parameters are now stored in the
pg_biha/biha_conf_file and can only be set with special functions. Modifying viaconfig_version.jsonALTER SYSTEM SETis only available for a few optional parameters. You can view the current values of BiHA configuration parameters using cluster configuration functions. For more information, refer to Configuration Parameters, Functions, and Managing Configuration Parameters.Implemented support for pg_probackup3 as a backup method of the
bihactl node addcommand.Implemented migration of a BiHA cluster to a major version of Postgres Pro Standard with minimal downtime that is recommended to use if interruption of your database operation is required to be reduced to a minimum. The implemented migration method is based on the new commands of the bihactl utility designed to automate migration steps: bihactl upgrade start, bihactl upgrade move, and bihactl upgrade finish. You can either migrate your BiHA cluster using an additional server or via conversion of an existing follower. For more information, refer to Migrating the BiHA Cluster to Version 18.X with Minimal Downtime.
Implemented a range of bihactl commands for manual switchover: bihactl node set leader, bihactl node set front-follower, bihactl segment set leader, and bihactl unit set leader. For more information, refer to Switchover Using bihactl Commands.
Implemented the bihactl run command that allows executing custom scripts with SQL queries to a BiHA cluster. For more information about using
bihactl runand the supported script structure, refer to Executing Custom Scripts withbihactl run.Implemented a range of network options for the bihactl utility and network configuration parameters for the biha extension. The new functionality allows separating the BCP control channel and the replication channel across different interfaces, creating a cluster with gateways or proxies between nodes, and avoiding dependency on the
listen_addressesconfiguration parameter.The following bihactl options were added:
The required --biha-listen-addresses option which replaces
--host. The--hostoption is now deprecated and no longer in use.The --pg-port option which replaces
--port. The--portoption is now deprecated and no longer in use.Optional --biha-hosts, --replication-hosts, and --sql-hosts.
The following biha configuration parameters were added:
biha_listen_addresses that can only be set with bihactl.
biha_hosts, replication_hosts, and sql_hosts, which can be set with the corresponding functions.
pg_port which is set with bihactl and can be later overridden when modifying biha_hosts, biha_listen_addresses, or replication_hosts configuration parameters.
To view the current values of the above mentioned configuration parameters, use the biha.config_network function.
Implemented the deny_wal_sources configuration parameter and the biha.set_deny_wal_sources function to manage a list of nodes that cannot be used as replication sources for the current node.
Implemented the --can-be-leader option of the bihactl node add command and the biha.set_can_be_leader function to manage the can_be_leader parameter of a node. The
can_be_leadervalue can no longer be modified withALTER SYSTEM.Implemented the biha.set_leader_timeout function to set the maximum time for the leader switchover process to complete when biha.set_leader is called.
Implemented
gracefulandimmediatemodes for the biha.set_leader function which allows you to switch over the leader manually. You can also set a mode with the--modeoption when switching over using bihactl commands.Implemented the biha.wal_validation configuration parameter that allows running the WAL validation procedure to avoid the recovery process abortion caused by WAL inconsistency.
Implemented adding the biha extension to the beginning of the
shared_preload_librarieslist to avoid issues with extensions that require being at the end of the list for correct operation, for example, pgpro_stats. The biha extension is always added to the beginning of the list, but after pg_proaudit if that extension is also present.Improved OID handling by persisting it to a file, so that the referee can restore it from backup during before transactions are available. This ensures that the referee replays all
biha_dbrecords at startup.Fixed an issue where a startup of the referee in the
referee_with_walmode would take too long on NFS file systems.Fixed a bug where BiHA was unable to configure cascading replication if a
walreceivererror occurred when the priority parameter was configured.Fixed a bug where
walreceiverwould not restart after modifying theprimary_conninfovalue.Fixed a bug where the biha.set_sync_standbys function would not change the number of synchronous standbys after enabling synchronous replication in a BiHA cluster that previously ran asynchronously.
Fixed an issue where followers could change their state to
NODE_ERRORafter elections because they continued replicating from the old leader during voting.Fixed an issue where WAL files were applied slowly on nodes.
Fixed an issue where BiHA failed to exit the service mode after configuration parameter change.
Fixed an issue where after the
pg_rewindprocedure the former leader would untimely change its state toFOLLOWERand start accepting read-only connections because of theminRecoveryPointvalue reset.Fixed an issue with incorrect handling of corner cases involving corrupted WAL records in the WAL trimming mechanism.
Fixed an issue of the
bihactl node addcommand where pg_basebackup would not receive environment variables.
Upgraded the hypopg extension to version 1.4.3.
Upgraded mamonsu to version 3.5.17.
Upgraded the ODBC driver to version 18.00.0002.
Upgraded orafce to version 4.16.7.
Upgraded the pgbouncer_exporter utility to version 0.12.1.
Upgraded pg_proaudit to version 2.1 to provide the following enhancements and bug fixes:
Added the
exclude_role_nameparameter to thepg_proaudit_set_rule(),pg_proaudit_remove_rule(), andpg_proaudit_reload()functions, which allows excluding specific roles from logging. This is useful for filtering out actions of technical roles that would otherwise make the audit log overly verbose.Added the
pg_proaudit.csv_split_messagesconfiguration parameter that controls whether security events in CSV and syslog output are written as a single line or multiple lines. When disabled, each security event is written on a single line, which simplifies log analysis and parsing.Added the
ddllogmethod that logs DDL changes to permanent database objects to a separate non-rotating CSV file. This allows administrators and support engineers to quickly investigate who changed a database object and when, without having to search the entire security event log.Fixed an issue with unreadable characters in CSV, CEF, and syslog log entries when using a database with a non-UTF-8 encoding. All string fields in the log output are now converted to UTF-8 regardless of the database encoding.
Upgraded pg_probackup to version 2.8.15 to provide the following improvements and bug fixes:
Added multithreading support for the
deletecommand via thej/--threadsoption. Backup deletion according to the retention policy and WAL archive cleanup are now executed in parallel.Fixed infinite looping on corrupted backups by adding loop detection. ID order is now validated when reading the backup catalog or searching for the parent full backup.
Optimized Postgres Pro port validation. Instead of reading from
postgresql.confandpostgresql.auto.conf, which may contain outdated information, the port is now read from thepostmaster.pidfile of the running server. If the instance port does not match the configuration, pg_probackup issues a warning.Fixed the
checkdbandcatchupcommand termination that could occur when an instance was specified without setting the backup catalog path via the-B/--backup-pathor theBACKUP_PATHenvironment variable. Now a clear error message is displayed.Improved diagnostics of remote connection errors. Previously, specifying an incorrect port that was already in use would cause the process to terminate without an error. Now, the reason for termination is displayed, along with a recommendation to check connection parameters.
Fixed a memory leak that could occur when reading the server configuration files.
Eliminated a potential null pointer dereference by adding out-of-memory handling when parsing the recovery target name in WAL.
Added the
--write-rate-limitoption to thecatchupcommand help output. In other command descriptions, this option's argument,baudrate, is renamed tobitrate.
Updated the pgpro_bindump module to include the following bug fixes:
Fixed an issue with parallel backups. Previously, each backup created a replication slot with the same default name, causing parallel backups to conflict and terminate with an error.
Fixed backup failures that occurred if a file disappeared between scanning a directory and attempting to access it, for example, if it was deleted by Postgres Pro.
Fixed an issue with
PTRACKbackups. Previously, an error would occur ifptrackwas not added toshared_preload_librarieswhileptrack.map_sizewas set to non-zero.Fixed an issue that manifested as a “could not stat file” error and could cause backup or restore processes to crash. Temporary files created by the CFS garbage collector are now skipped during these operations.
Fixed an issue where the
--external-dirsoption failed to process symbolic links correctly, causing the operation to fail with an error.
Upgraded pgpro_pwr to version 4.15, which provides enhancements and bug fixes. Notable changes are as follows:
Added support for statistics of the PostgreSQL 19 core.
Added support for pg_stat_statements 1.13.
Added support for pg_stat_kcache 2.3.2.
Added new report sections and fields.
Fixed the missing integrity constraint, which prevented the cascade deletion of subsample data due to retention policy and thus caused remaining of now-redundant rows in the session statistics table.
Upgraded the pgpro_scout utility to version 1.0.4.
Upgraded pgpro_stats to version 1.11 to provide the following enhancements and bug fixes:
Added the
pgpro_stats.enable_warningsconfiguration parameter that adds a warning to theplanfield of thepgpro_stats_statementsview if the plan was executed with partition pruning.Added the
pgpro_stats_relcachesview showing statistics about creations and removals of the relation cache initialization filepg_internal.init, as well as related functions and configuration parameters.Fixed a plan normalization issue that could be observed for queries executed using the
EXPLAIN EXECUTEcommand by adding a hook for saving information needed for the plan normalization. As a result, sensitive information is no longer exposed in query plans displayed in pgpro_stats views and pgpro_pwr reports.
Upgraded pgpro_validate to version 1.2.0 to include the following bug fixes:
Fixed SQL injection vulnerabilities in query generation.
Fixed a quoting issue that led to “relation does not exist” errors when running the
molotilkacommand on tables in schemas whose names contain uppercase or special characters.Fixed false “no matching entry in pg_attribute table” warnings for
pg_shdependrows whose objects belong to other databases of the cluster.
Updated pg_upgrade to improve the
--checkoption. Now it also verifies thatGRANT/REVOKEcommands are not generated for deletedpg_catalogobjects when dumping the old database. This check applies to tables, views, procedures as well as regular, aggregate, and window functions.Upgraded pgvector to version 0.8.5.
Upgraded pg_wait_sampling to version 1.1.1 to extend its wait event statistics functionality, previously available only in pgpro_stats, and to provide the following enhancements and bug fixes:
Added the
pg_wait_sampling.history_dimensionsandpg_wait_sampling.profile_dimensionsconfiguration parameters that allow you to customize the set of dimensions recorded in the history and the profile.Extended the
pg_wait_sampling_current,pg_wait_sampling_history, andpg_wait_sampling_profileviews with additional wait event dimensions.Added the
pg_wait_sampling_statementsview that provides wait event statistics grouped by query and plan identifiers.Added the
pg_wait_sampling_objectsview that provides wait event statistics for configurable dimensions, such as database, user, client address, application, backend, or session.Fixed an issue that caused queries to
pg_wait_sampling_profileto hang when the collector process stopped. Hung queries could not be cancelled normally, and the cluster required an emergency restart. The collector now restarts automatically, and queries return an error when the collector is unavailable.Fixed handling of the
pg_wait_sampling.profile_periodconfiguration parameter, which was previously ignored in the collector's timing calculation. Sampling interval accuracy has also been improved.
Updated rum to fix a crash that could occur during a RUM index scan if a concurrent
VACUUMremoved all items from a posting tree leaf page.
E.1.2. Migration to Version 18.6.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.
Important
To upgrade your BiHA cluster from Postgres Pro Standard 18.4 to Postgres Pro Standard 18.6, refer to the upgrade and migration instructions for BiHA.
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.