## E.4. Postgres Pro Standard 10.7.1

Release Date: 2019-03-27

### E.4.1. Overview

This release is based on PostgreSQL 10.7 and Postgres Pro Standard 10.6.1. All changes inherited from PostgreSQL 10.7 are listed in PostgreSQL 10.7 Release Notes. Other major changes and enhancements are as follows:

- Fixed processing of queries with multiple `OR` clauses to eliminate duplicate results and ensure the correct sort order.

- Fixed an issue that could cause server failures when using non-strict aggregate functions.

- Changed delivery model for pg_probackup utility:

  - On Linux, pg_probackup is now provided in the `pg-probackup-std-10` package. On ALT Linux and Debian-based systems, when upgrading from Postgres Pro Standard 10.6.1 or lower, run `apt dist-upgrade` (or `apt-get dist-upgrade`) to ensure that all new dependencies are handled correctly.

  - On Windows, pg_probackup now has a separate installer. You have to install core components of the current Postgres Pro version before installing pg_probackup.

- Added new options to Postgres Pro interactive installer for Windows. Now you can:

  - Choose `icu` or `libc` as the default collation provider. Previously, Postgres Pro Standard always used `icu` by default.

  - Select a Windows user that starts Postgres Pro service. By default, Postgres Pro service is started on behalf of `NT AUTHORITY\NetworkService`.

- On SUSE Linux Enterprise Server and RHEL-based systems, moved several utilities to different packages for consistency with other Linux distributions: pg_receivewal and pg_recvlogical are delivered as part of the `postgrespro-std-10-client` package, while pg_rewind, pg_waldump, pg_upgrade are now located in the `postgrespro-std-10-server` package.

- Backported the patch that addresses `dsm_attach()` race condition when DSM handles are reused; in vanilla PostgreSQL, this fix is targeted for the future updates only. The patch is hoped to resolve issues when the server reports the following error message: `ERROR: dsa_area could not attach to segment`.

- Fixed pg_upgrade to avoid issues with domain constraints that depend on collations. Such constraints are now validated during the upgrade, while in the the previous Postgres Pro versions they were always marked as invalid in the new cluster.

- Fixed the pg-setup script so that it can initialize a cluster in a non-default location when run with the `-D` option.

- Changes in `rum` and `bloom` indexes are now tracked correctly by pg_probackup in the `PTRACK` mode.

- Fixed performance degradation for index-only scans over wide indexes.

- Ended support for ALT Linux SPT 6.0 and Windows 7 SP1.

- Updated `pg_pathman` module to version 1.5.5. As compared to version 1.5.2 provided in the previous Postgres Pro releases, the following enhancements were introduced:

  - Fixed `pg_pathman` upgrade scripts to avoid issues caused by a different the number of `pg_config` attributes in `pg_pathman` 1.4 and 1.5 major versions.

  - Improved `pg_pathman` stability:

    - Trying to call `pg_pathman` functions when this extension is disabled does not cause server failures anymore; now an error is raised instead.

    - Different partitioning strategies can now be successfully applied to the same table.

- Updated `pg_variables` module to version 1.2:

  - Added support for array types.

  - Improved module stability.

  - Changed empty package handling. An empty package is now removed only after the transaction that emptied it has ended.

  (See Section F.44.)

### E.4.2. Migration to Version 10.7.1

If you are upgrading from a Postgres Pro Standard version based on the same PostgreSQL major release, it is enough to install the new version into your current installation directory.

Since pg_probackup delivery model changed in Postgres Pro Standard 10.7.1, when upgrading from a lower version on ALT Linux and Debian-based systems, run `apt dist-upgrade` (or `apt-get dist-upgrade`) to ensure that all new dependencies are handled correctly. On Windows, you have to run a separate pg_probackup installer to complete the upgrade.

When upgrading from version 10.3.2 or lower, you must call the `REINDEX` command for indexes that used `mchar` or `mvarchar` types. Besides, if you have been using `pg_repack` on Debian-based systems, you have to reinstall its package manually when upgrading to this version since its package got renamed to `pg-repack-std-10`.

To migrate from PostgreSQL or a Postgres Pro Standard release based on a previous PostgreSQL major version, see the instructions in Postgres Pro Standard 10.1.1 Release Notes. If you are opting for a dump/restore, make sure to use the `--add-collprovider` option to correctly choose the collation provider for the migrated database.