## E.36. Postgres Pro Standard 9.6.10.3

Release date: 2018-10-11

### E.36.1. Overview

This release is based on Postgres Pro Standard 9.6.10.2 and provides the following improvements:

- Added a fix for incorrect calculation of the minimum recovery point on standby servers, which could cause incorrect page references.

- Updated the online_analyze module, so that now it forbids nested `ANALYZE` calls.

- Increased the number of partitions of the shared buffer mapping hash table to 1024, which can improve performance on multi-core systems.

- Added `amcheck` module that allows you to verify logical consistency of the structure of indexes. (See amcheck for details.)

- Fixed backup restore on a master server to avoid race conditions when applying two-phase transactions.

- For Windows systems, fixed an issue with reloading dictionaries provided by the `shared_ispell` module.

- Updated pg_probackup to version 2.0.21, which provides the following bug fixes:

  - Issues related to restoring backups taken on standbys are resolved.

  - The `log-rotation-size` and `log-rotation-age` parameters are now parsed correctly.

  - The `show` command now dynamically changes width of the displayed output to improve readability for large tables.

  - The `restore` command now correctly restores all symbolic links to tablespaces.

  - If checksums are enabled, the `validate` command now verifies checksums for blocks.

### E.36.2. Migration to Version 9.6.10.3

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.

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

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.

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.