## E.27. Postgres Pro Enterprise 9.6.1.2

Release date: 2016-12-15

### E.27.1. Overview

This release is based on Postgres Pro Standard 9.6.1.2

Major enhancements over Postgres Pro Standard 9.6.1.2 include:

- Added k-nearest neighbors algorithm (KNN) for SP-GiST and B-tree (See Chapter 62)

- Added RUM index, based on GIN, as separate module (See Section F.57)

- WAL size has been reduced on `CREATE INDEX` operation in the GiST, GIN, SP-GiST

- Added timeout for idle sessions on the server side (See idle_session_timeout)

- Added SHA-2 algorithm for password encryption (See Section 20.3.2)

- Added page level compression (CFS) (See Chapter 33)

- Added support of autonomous transactions (See Chapter 16)

- Added new optional background worker to schedule tasks by rules (See pgpro_scheduler)

- Added support for relocatable tables (See pg_transfer)

- Extension pg_hint_plan has been added (See Section F.39)

- Transaction IDs on 64-bit platforms use 64-bit data type

- Lazy placement of temporary tables on disk

- Consistent read on standby servers (wait for WAL apply, see WAITLSN)

- Utility pg_repack has been added (See pg_repack)

### E.27.2. Migration to Version 9.6.1.2

A dump/restore using pg_dumpall, or use of pg_upgrade, is required for those wishing to migrate data from any previous major release.

Dump/restore is necessary when migrating from PostgreSQL or Postgres Pro Standard edition.

For upgrades from previous releases of Postgres Pro Standard or from PostgreSQL 9.6.x, some catalog changes should be applied.

If you use binary packages, and your database is in the default location, this upgrade should be performed automatically. If you have created your database in non-default location, running `initdb` manually, you should run `pgpro_upgrade` script provided in this distribution.

Before running script, you should stop postgres service. Script should be run as user, owning the database (typically postgres) and PGDATA environment variable should be set to the directory where database resides.