E.9. Postgres Pro Enterprise 9.6.16.1

Release date: 2019-12-02

E.9.1. Overview

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

  • Ended support for SLES 12. If you would like to use Postgres Pro on this operating system, install Postgres Pro Enterprise 10 or higher.

  • Fixed handling of NULL distance values when using k-NN search with SP-GiST.

  • Fixed handling of temporary tables by autonomous transactions.

  • Ensured that pg_visibility is compatible with 64-bit transaction IDs.

  • Forbade access to tables that belong to partition hierarchies in which both pg_pathman and standard PostgreSQL inheritance have been used for partitioning. Mixing different partitioning mechanisms in a single table hierarchy is unsupported and should have never been attempted. Previously, you could get duplicated query results from such table hierarchies.

  • Updated pgpro_scheduler:

    • Added the schedule.auto_enabled configuration parameter that specifies whether to enable pgpro_scheduler at the server start. By default, pgpro_scheduler is not automatically restarted if you reload the server.

    • Added the schedule.is_enabled() function that allows to check whether pgpro_scheduler is currently running. The schedule.enabled configuration parameter that could previously serve this purpose is now deprecated.

    • Changing pgpro_scheduler parameters on the fly does not cause server failures anymore.

    • pgpro_scheduler stability has been improved for several other corner cases.

  • Updated the mamonsu module to version 2.4.1. You can now convert all system and Postgres Pro metrics definitions provided by mamonsu to the format supported by the native Zabbix agent.

  • Upgraded pgbouncer to version 1.11.0.

  • Upgraded pg_probackup to version 2.2.5.

E.9.2. Migration to Version 9.6.16.1

Depending on your current installation, the upgrade procedure will differ.

To migrate from vanilla PostgreSQL 9.6.x or Postgres Pro Standard, make sure you have installed its latest minor version and then perform a dump/restore using pg_dumpall.

To upgrade from a Postgres Pro Enterprise version based on the same PostgreSQL major release, a dump/restore is not required. It is usually enough to install the new version into the same installation directory. Once the new binaries are installed, the pgpro_upgrade script is run automatically to check whether additional setup is required and complete the upgrade.

Since pg_probackup delivery model changed in Postgres Pro Enterprise 9.6.12.1, when upgrading from a lower version on ALT Linux and Debian-based systems, run apt dist-upgrade (or apt-get dist-upgrade) to ensure that all new dependencies are handled correctly. On Windows, you have to run a separate pg_probackup installer to complete the upgrade.

When upgrading from versions 9.6.9.1 through 9.6.14.1, you must run the REINDEX command to rebuild GIN, GiST, and SP-GiST indexes to fix replication issues that could be observed in these versions. You should also retake all backups for these versions if your database had such indexes.

When upgrading from versions 9.6.8.2 or lower, you have to rebuild indexes that used mchar or mvarchar types.

When upgrading from versions 9.6.2.1 or lower, you have to rebuild GiST indexes built over columns of the intarray type.

When upgrading from version 9.6.1.2 on RPM-based Linux distributions, make sure to move the data directory from pgsql to the pgproee directory before running the pgpro_upgrade script.

For some Linux distributions, you may be prompted to run pgpro_upgrade manually. In this case, you must stop the postgres service. The script must be run on behalf of the user owning the database (typically postgres) and PGDATA environment variable should be set to the directory where database resides. Running pgpro_upgrade as root will result in an error. This step is not required when upgrading from version 9.6.4.1 or higher.