E.1. Postgres Pro Standard 17.5.1 #

Release Date: 2025-05-30

E.1.1. Overview #

This release is based on PostgreSQL 17.5 and Postgres Pro Standard 17.4.1. All improvements inherited from PostgreSQL 17.5 are listed in PostgreSQL 17.5 Release Notes. Other major changes and enhancements are as follows:

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

  • Added the experimental feature that allows temporary tables in parallel queries and can be enabled using the new enable_parallel_temptables configuration parameter. This feature cannot be used in production for now. Also, added the new write_page_cost configuration parameter that allows estimating the cost of flushing temporary table pages to disk. It will only work if enable_parallel_temptables is enabled.

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

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

  • Added support for MosOS 15.

  • Added support for Ubuntu 25.04.

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

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

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

  • Upgraded aqo to version 3.1, which provides the following enhancements and bug fixes:

    • Enabled aggregation of the knowledge base for queries that only differ in table names. The so-called basic hash, which is the same for such queries, is now used as the feature space identifier.

    • Fixed an issue, which could lead to a standby crash with SIGABRT if the standby had a different aqo version than the primary.

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

  • 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, 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 an incorrect behavior that could occur when launching the wait for a WAL streaming thread in the ARCHIVE WAL delivery mode.

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

E.1.2. Migration to Version 17.5.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 17.0.1 Release Notes.