E.1. Postgres Pro Enterprise 15.19.1

Date: 2026-09-09

E.1.1. Overview

This release is based on PostgreSQL 15.19 and Postgres Pro Enterprise 15.19.0. All changes inherited from PostgreSQL 15.19 are listed in PostgreSQL 15.19 Release Notes. As compared with Postgres Pro Enterprise 15.19.0, this version also provides the following changes:

  • Added the enable_oracle_package_emulator configuration parameter that controls the availability of packages, which provide Oracle-compatible functionality for PL/pgSQL.

  • Introduced the following changes to autopreparing:

    • Optimized autopreparing for queries with a large number of parameters.

    • Fixed an issue with incorrect calculation of the memory limit for autopreparing.

  • Improved the error message produced by CREATE OR REPLACE PACKAGE when a package type cannot be changed. The message now includes the type name and lists dependent objects.

  • Implemented the following bug fixes for CFS:

    • Fixed an issue where orphaned *.cfm files that belonged to empty relation segments were left over after pg_upgrade. These files caused CFS failed to read map file warnings and could interfere with garbage collection, increasing disk usage.

    • Fixed a deadlock issue that could occur under write-heavy workloads and was caused by the CFS file lock not being released by server processes. The issue could lead to both primary and standby server hanging.

  • Fixed an issue with autonomous transactions that could cause incorrect index creation after executing the CREATE INDEX or REINDEX CONCURRENTLY command. Now when these commands are executed, Postgres Pro waits for the end of the autonomous transaction and all its parent transactions.

  • Fixed excessive memory usage that could occur in subtransactions when working with the in_memory extension.

  • Returned the vanilla implementation of the hba_file configuration parameter, as the previous fix interfered with Patroni and caused server startup failures.

  • Inherited the PostgreSQL fix that prevents truncation of CLOG that is still needed by unread NOTIFY messages. This fix prevents could not access status of transaction errors when a backend is slow to absorb NOTIFY messages.

  • Reduced the number of cache invalidation messages sent when creating or dropping temporary objects with skip_temp_rel_lock enabled. This improves performance for solutions that intensively use temporary objects, for example, for 1C.

  • 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.

  • Fixed an issue that could cause the pg_pathman extension with the enabled pg_pathman.enable_partitionrouter parameter to fail when trying to execute the UPDATE ... FROM command using common table expressions.

  • Fixed an issue in postgres_fdw where UPDATE and DELETE commands on a partitioned table could select tuples for processing only by their IDs without taking into account a partition to which the tuples belong.

  • Updated aqo to fix an issue with statistics collection in the intelligent mode, which caused incorrect aqo learning.

  • Upgraded mamonsu to version 3.5.17.

  • Updated multimaster to provide the following enhancements:

    • Implemented the ability to skip replication of DDL commands targeting temporary objects. Temporary objects are not replicated to other nodes which helps to accelerate operation with temporary objects. The new logic is available with the version 2 of the DDL replication protocol. You can switch to this version using the new multimaster.ddl_replication_protocol_version configuration parameter. Use the protocol version 2 only after upgrading multimaster to the latest version on all nodes of your cluster.

  • Upgraded the ODBC driver to version 18.00.0002.

  • Upgraded orafce to version 4.16.7.

  • Updated pgpro_application_info to fix an issue that could occur when reading module and action names due to incorrect processing of too long UTF-8 names. These values are now processed correctly.

  • Upgraded pg_proaudit to version 2.1 to provide the following enhancements and bug fixes:

    • Added the exclude_role_name parameter to the pg_proaudit_set_rule(), pg_proaudit_remove_rule(), and pg_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_messages configuration 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.

    • 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 Enterprise to provide the following improvements and bug fixes:

    • Added multithreading support for the delete command via the j/--threads option. Backup deletion according to the retention policy and WAL archive cleanup are now executed in parallel.

    • Fixed an issue where S3 operations that returned retryable status codes were erroneously reported as successful. Now an error is returned, and any unrecognized server response body is written to the log.

    • 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.

    • Fixed handling of incorrect S3 XML responses, eliminating crashes on empty documents and memory leaks.

    • Optimized Postgres Pro port validation. Instead of reading from postgresql.conf and postgresql.auto.conf, which may contain outdated information, the port is now read from the postmaster.pid file of the running server. If the instance port does not match the configuration, pg_probackup issues a warning.

    • Fixed the checkdb and catchup command termination that could occur when an instance was specified without setting the backup catalog path via the -B/--backup-path or the BACKUP_PATH environment 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-limit option to the catchup command help output. In other command descriptions, this option's argument, baudrate, is renamed to bitrate.

  • 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 PTRACK backups. Previously, an error would occur if ptrack was not added to shared_preload_libraries while ptrack.map_size was 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-dirs option failed to process symbolic links correctly, causing the operation to fail with an error.

  • Updated pgpro_multiplan to provide the following enhancements and bug fixes:

    • Implemented the ability to apply plans of any types to queries containing hints. In these cases, hints are silently ignored.

    • Added debugging information for cases when plans cannot be applied to queries. This information is displayed if the log_min_messages parameter is set to DEBUG1 or a lower level.

    • Fixed an issue where a parameterized query could not be registered in the baseline mode.

    • Fixed an issue that could cause a server failure after changing the plan type to baseline. Now the pgpro_multiplan_set_plan_type function does not accept the baseline value for the plan_type parameter.

    • Fixed an issue that could cause a server failure when using the EXPLAIN command with the GENERIC_PLAN parameter in queries managed by pgpro_multiplan. Now this command works correctly.

    • Fixed an issue that occurred when specifying an invalid plan type in the pgpro_multiplan_restore function. Now the function displays an error about an unsupported type.

    • Fixed an issue that could occur after dropping an object referenced in an existing registered query. Now pgpro_multiplan invalidates the registered query on any DROP command and displays the corresponding message.

    • Fixed a segmentation fault that could occur when using PL/pgSQL variables as parameters of queries managed by pgpro_multiplan.

  • 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 pgpro_scheduler to version 2.14 to fix an issue with the clean_log() and clean_at_jobs_done() functions, which failed with an error when called after SET ROLE to a superuser role. The redundant session_user check is now removed, so the functions work as expected.

  • Upgraded pgpro_stats to version 1.11 to provide the following enhancements and bug fixes:

    • Added the pgpro_stats.enable_warnings configuration parameter that adds a warning to the plan field of the pgpro_stats_statements view if the plan was executed with partition pruning.

    • Fixed a plan normalization issue that could be observed for queries executed using the EXPLAIN EXECUTE command 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 new features and bug fixes:

    • Added the --list-cfm-orphans flag to the database_files command to detect and report orphaned CFS map files.

    • Fixed SQL injection vulnerabilities in query generation.

    • Fixed a quoting issue that led to relation does not exist errors when running the molotilka command on tables in schemas whose names contain uppercase or special characters.

    • Fixed false no matching entry in pg_attribute table warnings for pg_shdepend rows whose objects belong to other databases of the cluster.

  • 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_dimensions and pg_wait_sampling.profile_dimensions configuration 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, and pg_wait_sampling_profile views with additional wait event dimensions.

    • Added the pg_wait_sampling_statements view that provides wait event statistics grouped by query and plan identifiers.

    • Added the pg_wait_sampling_objects view 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_profile to 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_period configuration parameter, which was previously ignored in the collector's timing calculation. Sampling interval accuracy has also been improved.

  • Upgraded plpgsql_check to version 2.10.3.

  • Updated rum to fix a crash that could occur during a RUM index scan if a concurrent VACUUM removed all items from a posting tree leaf page.

E.1.2. Migration to Version 15.19.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.