E.1. Postgres Pro Enterprise 15.13.1

Release Date: 2025-06-04

E.1.1. Overview

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

  • Added the enable_alternative_sorting_cost_model configuration parameter, which allows you to enable or disable the query planner's use of alternative model for estimating the cost of tuple sorting.

  • Added the enable_any_to_lateral_transformation configuration parameter that allows enabling or disabling transformation of ANY subqueries into LATERAL joins.

  • Implemented performance optimization when working with table metadata, which allows obtaining information about attributes using the system cache instead of direct reading from the system catalog.

  • Introduced the following changes to the implementation of crash_info:

    • Added handling of SIGILL signals to crash_info processing.

    • Added details, like process start time and query text at planning, to crash_info output files.

    • Fixed incorrect function names in the first 2-3 lines of crash_info backtrace stacks.

    • Fixed possible data truncation at the end of SQL query dump files. Previously, a buffer overflow during SQL query dumping could result in incomplete writes, causing truncated data at the end of files produced by crash_info.

    • Fixed handling of crash information signals (sent using the kill command) by backends. Previously, the first signal would flush crash_info information to the log, but the process would continue running without producing a core dump, even if configured, and only the second signal would terminate the backend and generate the core dump as expected.

  • Restricted superuser actions with temporary relations of other sessions. Superusers can now only use the DROP TABLE command with such relations. If the skip_temp_rel_lock configuration parameter is set to on, even dropping such relations is not allowed.

  • Fixed the following issues for CFS:

    • Fixed compatibility of CFS with the ALTER TABLESPACE ... SET/RESET commands.

    • Fixed an issue with memory allocation within a critical section in the implementation of VACUUM ANALYZE for compressed tables.

  • Fixed the following bugs related to autonomous transactions:

    • Fixed a segmentation fault, which could occur when using postgres_fdw with autonomous transactions.

    • Fixed loss of temporary tables from parent transaction on autonomous transaction rollback.

    • Fixed an issue with empty xact_start columns in the pg_stat_activity view for backends executing autonomous transactions.

  • Fixed an issue with missing statistics about vacuuming when multiple index vacuum workers are used.

  • Fixed an issue when the checkpointer process could get stuck, repeatedly throwing invalid memory alloc request size errors. This could occur when using a huge shared_buffers setting, causing checkpointer memory allocation requests to exceed the allowed limit.

  • Fixed misuse of spinlocks in the automatic page repair worker.

  • Added the daterange_inclusive extension, which allows you to include the upper bound of a time range in output.

  • Added the pg_failover_slots extension as a separate pre-built package. pg_failover_slots is designed for automatic creation and synchronization of logical replication slots on physical replicas.

  • Added the pg_probackup3 solution for backup and recovery of Postgres Pro database clusters. Refer to the pg_probackup3 release notes for more details.

  • Added the pgpro_bindump module to manage backup and restore operations. This module implements specialized replication commands for an extended replication protocol, has its own format for archiving files, and does not require SSH connection. It is designed specifically for use with the pg_probackup3 utility.

  • Added the pgpro_datactl utility to manage Postgres Pro data files, which includes a module for unpacking and analyzing CFS files.

  • Added the new pgpro_tune utility for automatic tuning of Postgres Pro configuration parameters.

  • Added a new PGPRO_TUNE environment variable to initdb, which specifies whether to use pgpro_tune without modifying command-line options directly.

  • Deprecated the experimental vops extension.

  • Removed the --tune option from pg-setup. Use the new pgpro_tune utility instead.

  • Upgraded multimaster to version 1.3.0, which provides the following enhancements and bug fixes:

    • Improved the way nodes delete old synchronization points. Previously, every node deleted only a part of the synchronization point table and replicated changes to other nodes. This could cause synchronization issues and inability to delete old synchronization points. Now, every node deletes all synchronization points and does not replicate changes to other nodes.

    • Fixed potential node hanging during catchup when attempting to process aborted DDL transactions in a cluster of three or more nodes.

  • Upgraded oracle_fdw to provide the following enhancements and bug fixes:

    • Increased line size for EXPLAIN output as some Oracle catalog queries have long filter conditions. The line size was increased to the value of 3000.

    • Fixed a crash with column options on non-existing columns. If the Oracle table has fewer columns than the Postgres Pro and one of these extra columns has a column option set, oracle_fdw would write past the end of an array, leading to memory corruption and crashes. Now options for such columns are ignored.

  • Fixed an issue with updating pageinspect. In rare cases, depending on the sequence of previous updates, upgrading the database cluster and then attempting to update the pageinspect extension using ALTER EXTENSION pageinspect UPDATE TO could result in an error. To avoid such issues, it is strongly recommended to drop and recreate the extension using DROP EXTENSION followed by CREATE EXTENSION after upgrading the cluster. Since pageinspect does not create dependent objects, this approach is safe.

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

    • Added new object types: CATALOG RELATION and CATALOG FUNCTION.

    • Added new event fields: UUID, XID, and VXID. Now it is possible to identify an event by its UUID and transaction IDs (if applicable).

    • The behavior of the pg_proaudit.log_catalog_access configuration parameter was corrected to reflect the new logic of logging for system catalog objects.

    • Changed the logic of handling disconnection events. Now these events are associated with the corresponding authentication events, so the disconnection events will be logged even in the case when the rule is removed after authentication, but before disconnect.

    • Fixed an issue where the DISCONNECT event type was not logged for a user who was a member of the role that was set in the logging rule.

    • Fixed the bug that caused a log entry to be written to an incorrect log file when log file rotation was configured.

    • Fixed an issue with pg_proaudit failing to log schema creation events.

    • Corrected the behavior of the logger process when deleting a role from a parallel session configured by the rule.

  • Upgraded pg_probackup to version 2.8.9 Enterprise, which provides the following new features, optimizations, and bug fixes:

    • Added the maintain command to resolve issues that can occur during a forced backup termination.

    • Added the --lock-lifetime option that sets the timeout for locks. This option is useful for computational environments with a slow network.

    • Stabilized retaining the initial permissions for directories when running the init command.

    • Stabilized the checkdb command on a remote host.

    • Improved the stability of the point-in-time recovery (PITR) with validation.

    • Fixed the SignatureDoesNotMatch error that could occur when connecting to the VK Cloud S3 storage.

    • Fixed an incorrect behavior that could occur when launching the wait for a WAL streaming thread in the ARCHIVE WAL delivery mode.

  • Upgraded pgpro_multiplan to version 1.2, which provides the following enhancements and bug fixes:

    • Implemented the ability to back up frozen plans and then restore them into the current database using the pgpro_multiplan_restore() function. You can now transfer frozen plans between databases or even server instances.

    • Fixed a PANIC-level failure in pgpro_multiplan, which could occur if the standby had a different pgpro_multiplan version than the primary.

    • Fixed an issue, which could cause errors like unrecognized node type when working with stored procedures and functions.

    • Fixed empty hint string generation in pgpro_multiplan, which caused pg_hint_plan to report a syntax error.

  • Upgraded pgpro_pwr to version 4.9, which mainly provides optimizations and bug fixes. Notable changes are as follows:

    • Added support for pgpro_stats 1.9.

    • Added a possibility to define the mode of collecting relation sizes globally through the pgpro_pwr.relsize_collect_mode extension parameter or for a server through the set_server_size_sampling function parameter.

    • Enabled fine-tuning the server statistics collection by calling the set_server_setting function. It allows you to define which statistics should be collected.

    • Added a preview of storage parameters for tables and indexes in the Schema object statistics report section.

  • Upgraded pgpro_scheduler to version 2.11.2 to fix an issue where repeated jobs could be executed at additional time if days of the week were set using the crontab format. pgpro_scheduler now checks all job time settings and runs jobs at the specified time.

  • Upgraded pgpro_stats to version 1.9, which provides the following bug fixes and improvements:

    • Enhanced session tracing to provide more information. Specifically, the new time_info filter attribute controls inclusion of additional information in the session-tracing output, and the pgpro_stats.trace_query_text_size configuration parameter can limit the size of the query in the session-tracing output.

    • Aligned the names of the explain_* filter attributes of the session tracer with the names of session-tracing configuration parameters.

    • Changed the format of the statistics dump file and the corresponding save/load routines.

    • Implemented turning off the session tracer functionality when no session-tracing filters are specified.

    • Prohibited inclusion of both pgpro_stats and pg_stat_statements in the list of shared_preload_libraries. If both are included, the database server will not start.

  • Upgraded the pg_wait_sampling extension to provide the following bug fixes:

    • Fixed an issue where GUC variables could be overridden when using parallel workers.

    • Fixed an issue with malformed samples caused by a race condition when pg_wait_sampling.sample_cpu is disabled.

  • Fixed an issue with sr_plan failing to register queries involving the INTERVAL 'const' notation.

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