## E.39. Postgres Pro Standard 9.6.9.1

Release date: 2018-05-23

### E.39.1. Overview

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

Major enhancements over Postgres Pro Standard 9.6.8.2 include:

- Updated the Section F.31 to fix the sorting order for Cyrillic letters Yo and short I. Make sure to run the `REINDEX` command to rebuild indexes that use `mchar` or `mvarchar` types.

- Updated the pg_probackup utility to version 2.0.17, which includes the following new features:

  - `DELTA` mode for incremental backups that reads all data files in the data directory and creates an incremental backup for pages that have changed since the previous backup.

  - New options for `restore` and `validate` commands:

    - `--immediate` option ends recovery as soon as a consistent state is reached.

    - `--recovery-target-action` option specifies the action the server should take when the recovery target is reached.

    - `--recovery-target-name` specifies a named savepoint up to which to restore the cluster data.

    - `--write-recovery-conf` writes a minimal `recovery.conf` in the output directory to facilitate setting up a standby server.

    For details, see pg_probackup.

- Updated PTRACK to version 1.6:

  - Now ptrack doesn't track unlogged relations.

- Updated jsquery module.

- Updated `pg_pathman` module to version 1.4.11. As compared to version 1.4.9, the following enhancements were introduced:

  - Fixed an issue with duplicate entries in query results for inherited tables. In general, `pg_pathman` does not support multilevel partitioning.

  - Fixed a spurious `table is being partitioned now` error raised by `partition_table_concurrently()`.

  - Relaxed check constraint handling.

  - Fixed incorrect usage of `memcpy()` in `start_bgworker()`.

  - For a full list of changes, see pg_pathman Wiki.

- Performed multiple bug fixes in the shared_ispell module.

- Improved Postgres Pro Standard version for Windows:

  - Fixed an issue with pasting strings that include symbols of different character sets from clipboard to psql on Windows systems.

  - Updated optimization algorithm for default database configuration.

  - You can now turn off configuration optimization when installing Postgres Pro from the command line by setting the `needoptimization` option in the INI file to `0`.

### E.39.2. Migration to Version 9.6.9.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, you can perform a dump/restore using pg_dumpall, or use the pg_upgrade utility. The first option is safer, while the second is faster and can significantly speed up the upgrade process for large databases.

### Important

When upgrading from versions 9.6.8.2 or lower, you must call the `REINDEX` command for indexes that used `mchar` or `mvarchar` types.

To upgrade from a Postgres Pro Standard version based on the same PostgreSQL major release, a dump/restore is not required. 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.

### Important

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.

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, perform a dump/restore using pg_dumpall.