E.4. Postgres Pro Enterprise 15.5.1

Release Date: 2023-11-24

E.4.1. Overview

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

  • Added new configuration parameters pgpro_build, pgpro_edition, and pgpro_version, which report the Postgres Pro source code commit ID, edition, and server version respectively.

  • Added the vacuum_update_datfrozenxid_only_when_needed configuration parameter to improve the performance when vacuuming a large number of tables.

  • Implemented Postgres Pro-specific extensions to the SQL/JSON Path standard: sequence constructor, array constructor, object constructor and object subscription. They can be enabled by specifying an additional pgpro modifier.

  • Optimized memory consumption and time of performing a large number of expressions x=c_i (c_i are constants, i>= 500) joined by OR. The optimization is based on a replacement with ANY, such as replacement of x=1 OR x=2 OR x=3 with x=ANY([1,2,3]).

  • Restricted the privileges of CREATEROLE and its ability to modify other roles. Previously roles with CREATEROLE privileges could change many aspects of any non-superuser role. Such changes, including adding members, now require the role requesting the change to have ADMIN OPTION permission. For example, they can now change the CREATEDB, REPLICATION, and BYPASSRLS properties only if they also have those permissions.

  • Fixed an issue with page pruning after upgrading Postgres Pro Enterprise cluster using pg_upgrade, which could manifest itself in cannot fit xid into page errors. Now updating transactions in multitransactions are taken in account so pd_xid_base for pages is calculated correctly.

  • Fixed displaying client connection information in pg_stat_activity when using the built-in connection pooler. Previously, the client_addr values were not updated for new sessions.

  • Fixed an internal issue that could arise when an index relation was moved to a different namespace similarly to a plain relation.

  • Fixed too long planning that could take place when JOIN and index increased the number of variants to consider. Planning time was reduced by indexing equivalence classes and members of them.

  • Added support for ALT SP Release 10.

  • Added the apache-age extension that provides graph database functionality.

  • Upgraded oracle_fdw to version 2.6.0.

  • Upgraded orafce to version 4.6.1.

  • Upgraded pg_filedump to version 16.0.

  • Upgraded pgbouncer to version 1.20.1.

  • Upgraded pg_integrity_check, which now provides three new options.

  • Upgraded pg_proaudit to version 1.2, which provides the following changes:

    • Changed the name of the CONNECT events recorded by pg_proaudit to AUTHENTICATE.

    • Removed the pg_proaudit.syslog_facility and pg_proaudit.syslog_ident configuration parameters. Instead, the syslog_ident and syslog_facility parameters can be used.

    • Records in the syslog are now marked with AUDIT for clear identification.

    • Added the db_name argument for functions that add and delete the logging settings. This argument allows specifying the name of the database for which security events need to be logged. Also, the role_oid argument can now be passed with NULL to enable logging actions for all users.

  • Upgraded pgpro_controldata to version 16.1.0.

  • Upgraded pg_hint_plan to version 1.5.2.

  • Upgraded pgpro_stats to version 1.6.3, which in particular fixed a code issue that prevented data generation for the pgpro_stats_vacuum_tables view. Accordingly the Database vacuum statistics table was not included in the pgpro_pwr report.

  • Upgraded pg_probackup to version 2.6.7 Enterprise, which in particular improved stability of the catchup command.

  • Upgraded PTRACK to version 2.5.1 Enterprise.

  • Fixed a segmentation fault, which could occur when the background worker of the database manager type was not created, but pgpro_scheduler assumed the opposite and continued operation.

  • Added the sr_plan_local_cache view to sr_plan. This view provides detailed information about registered and frozen statements in the local cache.

  • Upgraded tds_fdw to version 2.0.3.

E.4.2. Migration to Version 15.5.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.

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.