E.1. Postgres Pro Standard 15.17.1

Date: 2026-03-10

E.1.1. Overview

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

  • Implemented the ability for the optimizer to add Index Only Scan plan nodes below Append nodes that are generated for OR clauses if the enable_appendorpath parameter is set to on. This allows producing more efficient query plans and improving performance.

  • Introduced the following changes to the implementation of crash_info:

    • Changed the name format of crash_info output files to specify date and time with microseconds.

    • Fixed a bug that could occur when trying to write a query text to crash_info output files.

  • Fixed an issue that could occur during collection of vacuum interruption statistics for relations and indexes shared across all databases in a cluster. Also, the number of parallel vacuum interrupts is now taken into account in the statistics.

  • Fixed a bug that caused daterange_inclusive to fail when processing empty ranges.

  • Ended support for AlterOS 7.5, Debian 10, ALT 9, and SLES 12.

  • Added the pgpro_anonymizer extension that provides the ability to mask or replace personally identifiable information or commercially sensitive data from a Postgres Pro database. Previously, pgpro_anonymizer was only available with Postgres Pro Enterprise.

  • Added pgpro_datactl, featuring the estimate command that evaluates compression ratios across different algorithms.

  • Fixed a memory leak in the auto_dump extension.

  • Upgraded pgpro_bindump to provide the following bugfixes:

    • Fixed backup failures due to erroneous inclusion of unlogged tables and temporary tablespaces. Previously, if such files were deleted during the backup process, pg_probackup3 would treat them as missing and abort the operation.

    • Fixed incorrect Postgres Pro edition detection in the PRO data source mode for Shardman.

  • Upgraded pgbouncer to version 1.25.1 for each OS, except ALT SP 8, for which pgbouncer 1.24.0 is still shipped.

  • Upgraded pg_proaudit to provide the following enhancements:

    • Added the pg_proaudit.log_rows configuration parameter that enables or disables logging of the number of rows affected by an SQL command.

    • Added a new event log field: connection duration. DISCONNECT events now contain the total connection duration alongside other connection parameters.

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

    • Added verification and validation of recovery-target-name in the WAL archive during recovery. This prevents situations where the Postgres Pro cluster fails to start due to an unreachable recovery target. If a named recovery target was created before the last backup, the recovery process now correctly checks its existence.

    • Added the ability to pass parameters to a remote agent in a configuration file format to improve flexibility when working with backup agents in distributed environments.

    • Implemented compatibility with the pgpro_cpumeter extension. The pgpro_cpumeter.stat file is now added to the exclusion list during backup.

    • Fixed an issue where the --skip-block-validation flag was being ignored during backup. Previously, this resulted in an error if the cluster contained pages with invalid checksums in their headers. This is critically important when enabling checksums in older clusters that may have pre-existing checksum issues. Also, a warning is now displayed when --skip-block-validation is used.

    • Improved backup status reporting. The backup status is now set to DONE before the validation phase. Backup metadata is written twice: before validation and after backup completion. The show command now displays a more accurate backup status during long-running validation checks.

    • Fixed an issue that could result in a crash if the backup_content.control file was deleted before the DELTA backup.

  • Upgraded pgpro_controldata to version 18.2.0.

  • Upgraded pgpro_cpumeter to remove the warning message provoked by the empty machine_id value.

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

    • Restored the possibility to track aggregate statistics for sessions, which had previously been removed as unused. Whether aggregate statistics for the sessions are tracked is controlled by the pgpro_stats.track_sessions configuration parameter.

    • Improved the behavior of session-tracing functions. The pgpro_stats_trace_insert and pgpro_stats_trace_update functions now fail with an error if some filter attribute is listed in the passed sequence of key-value pairs more than once. If a wrong argument is passed to the pgpro_stats_trace_update function, the filter no longer gets updated. The pgpro_stats_trace_show function now returns exactly the values of explain* attributes that were specified for the filter.

    • Fixed an issue to avoid crash when two or more constants are marked as having the same location in the SQL statement text.

  • Upgraded pgpro_tune to provide the following changes:

    • Added the autovacuum_vacuum_scale_factor and autovacuum_vacuum_insert_scale_factor parameters to the pgpro_tune default.tune preset configuration.

    • Fixed an issue with pgpro_tune not being able to process preset names with whitespaces when specifying a preset in the initdb PGPRO_TUNE environment variable. Now if pgpro_tune fails, initdb also fails.

    • Fixed the default.tune preset, which now correctly displays the order of effective_io_concurrency and random_page_cost parameter values depending on the drive type.

  • Upgraded rum to provide the following changes:

    • Added functions that allow inspecting all types of RUM index pages at a low level.

    • Fixed a bug that caused scanning of multi-column RUM indexes to return incorrect results. This happened when the index was created with order_by_attach set to true for one of the columns, and a query specified conditions for several index columns, including the one with order_by_attach.

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

If you take backups using pg_probackup and you have previously upgraded it to version 2.8.0 or 2.8.1, make sure to upgrade it to version 2.8.2 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 Standard 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.

When upgrading to Postgres Pro versions starting with 15.3.1, make sure to upgrade pg_probackup to version 2.6.3 or higher since lower versions are incompatible with these Postgres Pro versions.

To migrate from PostgreSQL or a Postgres Pro Standard release based on a previous PostgreSQL major version, see the instructions in Postgres Pro Standard 15.0.1 Release Notes.