Release date: 2017-03-24
This release is based on Postgres Pro Enterprise 9.6.1.2 and PostgreSQL 9.6.2. Major enhancements over Postgres Pro Enterprise 9.6.1.2 include:
Added multimaster extension.
This extension enables you to set up shared-nothing clusters with synchronous multi-master replication. Such clusters provide OLTP scalability for read transactions, ensure fault tolerance and automatic node recovery, and enable Postgres Pro Enterprise online upgrades. (See Section F.31.)
Added failover algorithm for libpq connections.
Added aqo extension for adaptive query optimization.
Based on the collected statistics on query execution, aqo improves cardinality estimation, which can speed up subsequent queries. (See Section F.2.)
Implemented declarative syntax for partitioning.
The pg_pathman extension
can now perform range and hash partitioning as part of
the CREATE TABLE query. Partition management can
be done with various forms of
ALTER
TABLE. (See Section F.39.2.6.)
Added mamonsu monitoring service, which is implemented as a Zabbix agent.
Using mamonsu, you can monitor multiple PostgreSQL and system metrics and visualize the collected data in comprehensive graphs. If required, you can extend mamonsu with your own custom plugins. (See mamonsu.)
Added pg_wait_sampling extension for sampling-based statistics of wait events.
With this extension, you can get an insight into the server activity, including the current wait events for all processes and background workers. (See Section F.51.)
Added support for timestamp output in the pg_xlogdump application.
Added support for one-time background jobs in pgpro_scheduler.
You can now submit jobs for immediate or delayed one-time execution in parallel with the scheduled jobs. (See pgpro_scheduler.)
Updated the pg_probackup backup manager to version 1.1.0, which offers the following enhancements:
Added retention show and
retention purge commands to
implement retention policy.
Added support for incremental backup of compressed page files. Compressed files are the feature of the Postgres Pro Enterprise.
Fixed validate command.
The backup_id parameter is
optional now.
Added other miscellaneous cleanup and portability fixes.
Improved compressed tablespaces:
Added function cfs_garbage_ratio, which
returns garbage ratio for a given relation.
Improved stability on the server hard reset or
process killed by SIGTERM.
Bug Fixes:
Added a fix for WAL optimization on creating indexes.
Fixed incorrect xmin,
xmax values in autonomous
transactions.
Fixed submit_job and
set_job_attribute pgpro_scheduler
functions on Microsoft Windows systems.
Resolved the issue of data corruption in compressed tablespaces.
Module pg_pathman has been updated to version 1.3 (see Section F.39.1.1).
The sr_plan module is now initialized independently for each database instance.
Syntax for covering indexes has been changed. Now the keyword INCLUDING is
replaced by INCLUDE. The previous syntax still works, but is deprecated
(see Section 11.6).
RHEL-based distributions are installed in a separate location, so the Postgres Pro database can be installed in parallel with an existing PostgreSQL database.
Improved the algorithm of automatic TCP-port selection for the case of parallel installation of different versions of the product on Windows systems.
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 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've
created your database in
a non-default location, running initdb manually, you
should run the pgpro_upgrade script provided in this
distribution.
Before running the script, you should stop the postgres service.
The script should be run on behalf of the user owning the database
(typically postgres), and the PGDATA environment variable should be
set to the directory where the database resides.