E.14. Postgres Pro Standard 9.6.12.1

Release date: 2019-03-19

E.14.1. Overview

This release is based on PostgreSQL 9.6.12 and Postgres Pro Standard 9.6.11.1. All improvements inherited from PostgreSQL 9.6.12 are listed in PostgreSQL 9.6.12 Release Notes.

Major enhancements over Postgres Pro Standard 9.6.11.1 include:

  • Changed the default authentication method for installations on SUSE Linux Enterprise Server systems, as well as Red Hat Enterprise Linux 7 and its derivatives. Now local connections use the peer method, while network connections use md5. For details on supported authentication methods, see Section 19.3.

  • Backported the patch that addresses dsm_attach() race condition when DSM handles are reused; in vanilla PostgreSQL, this fix is targeted for the future updates only. The patch is hoped to resolve issues when the server reports the following error message: ERROR: dsa_area could not attach to segment.

  • Changed delivery model for pg_probackup utility:

    • On Linux, pg_probackup is now provided in the pg-probackup-std-9.6 package. On ALT Linux and Debian-based systems, when upgrading from Postgres Pro Standard 9.6.11.1 or lower, run apt dist-upgrade (or apt-get dist-upgrade) to ensure that all new dependencies are handled correctly.

    • On Windows, pg_probackup now has a separate installer. You have to install core components of the current Postgres Pro version before installing pg_probackup.

  • Added new options to Postgres Pro interactive installer for Windows. Now you can:

    • Choose icu or libc as the default collation provider. Previously, Postgres Pro Standard always used icu by default.

    • Select a Windows user that starts Postgres Pro service. By default, Postgres Pro service is started on behalf of NT AUTHORITY\NetworkService.

  • Fixed amcheck to eliminate false-positive reports of invalid index structure, which were manifested by the following error message: ERROR: heap tuple lacks matching index tuple within index.

  • Fixed performance degradation for index-only scans over wide indexes.

  • Ended support for ALT Linux SPT 6.0 and Windows 7 SP1.

  • Changes in rum and bloom indexes are now tracked correctly by pg_probackup in the PTRACK mode.

  • Updated pg_pathman module to version 1.5.5. As compared to version 1.5.2 provided in the previous Postgres Pro releases, the following enhancements were introduced:

    • Fixed pg_pathman upgrade scripts to avoid issues caused by a different the number of pg_config attributes in pg_pathman 1.4 and 1.5 major versions.

    • Improved pg_pathman stability:

      • Trying to call pg_pathman functions when this extension is disabled does not cause server failures anymore; now an error is raised instead.

      • Different partitioning strategies can now be successfully applied to the same table.

  • Updated pg_variables module to version 1.2. As compared to the version provided in the previous Postgres Pro releases, the following enhancements were introduced:

    • Added support for array types.

    • Improved module stability.

    • Changed empty package handling. An empty package is now removed only after the transaction that emptied it has ended.

    (See Section F.44.)

E.14.2. Migration to Version 9.6.12.1

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

To upgrade from a Postgres Pro Standard version based on any previous PostgreSQL major release, make sure you have installed its latest minor version, and then perform a dump/restore using pg_dumpall or use the pg_upgrade utility.

To upgrade from a Postgres Pro Standard version based on the same PostgreSQL major release, a dump/restore is not required.

Since pg_probackup delivery model changed in Postgres Pro Standard 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.8.2 or lower, you must call the REINDEX command for indexes that used mchar or mvarchar types.

If you are upgrading from Postgres Pro Standard 9.6.7.1 or lower, you must also use the pgpro_upgrade script provided in this distribution. This script updates metadata information to handle catalog number format change introduced after Postgres Pro Standard 9.6.4.1, as well as rename the pgpro_build function to pgpro_source_id. If you are upgrading your Postgres Pro installation from a binary package, the pgpro_upgrade script is run automatically, unless you are prompted to run it manually.

Note

If you run pgpro_upgrade manually, you must stop postgres service. The script must be run on behalf of the user owning the database (typically postgres). Running pgpro_upgrade as root will result in an error. For details, see pgpro_upgrade.

If you have compiled Postgres Pro from source code or created your database in a non-default location, you must run the pgpro_upgrade script manually.

Note

On RPM-based Linux distributions, if you are upgrading from version 9.6.2.1 or lower, make sure to move the data directory from pgsql to the pgpro directory before running the pgpro_upgrade script.

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