## E.7. Postgres Pro 9.6.5.1

Release date: 2017-08-31

### E.7.1. Overview

This release is based on Postgres Pro 9.6.4.1 and PostgreSQL 9.6.5.

Major enhancements over Postgres Pro 9.6.4.1 include:

- Updated pg_pathman module to version 1.4.3. (See Section F.40 and Section F.40.1.1.) As compared to version 1.4.2, the following enhancements were introduced:

  - Disabled dangerous optimizations for `UPDATE` and `DELETE` on PostgreSQL 9.5.

  - Fixed the following type of query: `DELETE FROM single_table USING partitioned_table`.

  - Fixed the output of the `EXPLAIN INSERT INTO partitioned_table` command when verbose mode is activated.

  For a full list of changes, see pg_pathman Wiki.

- Enhanced the pg_controldata utility to enable automatic Postgres Pro upgrades using the `pgpro_upgrade` script.

### E.7.2. Migration to Version 9.6.5.1

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

To upgrade from a Postgres Pro 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 version based on the same PostgreSQL major release, a dump/restore is not required. Instead of the `pg_upgrade`, you must use the `pgpro_upgrade` script provided in this distribution. This script updates metadata information to handle catalog number format change introduced after Postgres Pro 9.6.4.1. If you are upgrading your Postgres Pro installation from a binary package, the `pgpro_upgrade` script is run automatically, or 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) and PGDATA environment variable should be set to the directory where database resides. 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.