E.9. Postgres Pro Enterprise 9.6.16.1

Дата выпуска: 2019-12-02

E.9.1. Обзор

Этот выпуск основан на PostgreSQL 9.6.16 и Postgres Pro Enterprise 9.6.15.2. Все усовершенствования, унаследованные от PostgreSQL 9.6.16, описаны в Замечаниях к выпуску PostgreSQL 9.6.16. По сравнению с Postgres Pro Enterprise 9.6.15.2 эта версия также содержит следующие изменения:

  • Прекращена поддержка системы SLES 12. Если вы хотите использовать Postgres Pro в этой операционной системе, установите Postgres Pro Enterprise версии 10 или новее.

  • Исправлена обработка значений расстояния NULL при выполнении поиска k-NN с использованием SP-GiST.

  • Исправлено поведение временных таблиц в автономных транзакциях.

  • Обеспечена совместимость расширения pg_visibility с 64-битными идентификаторами транзакций.

  • Запрещены обращения к таблицам в иерархии наследования при реализации секционирования одновременно средствами и pg_pathman, и PostgreSQL. Совмещение механизмов секционирования в одной иерархии таблиц не поддерживается, и пытаться реализовать это не следует. Ранее при обращении к таким иерархиям в запросах могли выдаваться повторяющиеся результаты.

  • Обновлён модуль pgpro_scheduler:

    • Добавлен параметр конфигурации schedule.auto_enabled, определяющий, будет ли pgpro_scheduler включаться при запуске сервера. По умолчанию при перезапуске сервера pgpro_scheduler автоматически не включается.

    • Добавлена функция schedule.is_enabled(), позволяющая проверить, работает ли pgpro_scheduler в данный момент. Параметр конфигурации schedule.enabled, служивший этой цели ранее, перешёл в разряд устаревших.

    • Изменение параметров pgpro_scheduler «на лету» теперь не может вызвать сбой сервера.

    • Улучшена стабильность pgpro_scheduler ещё в нескольких особых случаях.

  • Приложение mamonsu обновлено до версии 2.4.1. С новой версией вы можете преобразовать определения всех метрик системы и Postgres Pro, поставляемые с mamonsu, в формат, который поддерживает стандартный агент Zabbix.

  • pgbouncer обновлён до версии 1.11.0.

  • Приложение pg_probackup обновлено до версии 2.2.5.

E.9.2. Миграция на версию 9.6.16.1

Процедура установки зависит от версии вашей текущей инсталляции.

Для перехода с ванильной версии PostgreSQL 9.6.x или Postgres Pro Standard сначала установите последний корректирующий выпуск для этой версии, а затем выполните выгрузку/восстановление данных, используя pg_dumpall.

Для обновления с версии Postgres Pro Enterprise, основанной на этом же основном выпуске PostgreSQL, выгрузка/восстановление данных не требуется. Обычно достаточно установить новую версию в каталог предыдущей инсталляции. После установки новых исполняемых файлов автоматически запускается скрипт pgpro_upgrade, который проверяет, требуется ли дополнительная настройка, и завершает обновление.

Так как в Postgres Pro Enterprise 9.6.12.1 была изменена модель распространения pg_probackup, при переходе с предыдущей версии в Альт Линукс или системе на базе Debian выполните apt dist-upgrade (или apt-get dist-upgrade), чтобы корректно обработались все новые зависимости. В Windows для завершения обновления вам нужно будет запустить отдельный инсталлятор pg_probackup.

При обновлении с версий 9.6.9.1–9.6.14.1 вы должны выполнить команду REINDEX для индексов GIN, GiST и SP-GiST, чтобы устранить дефекты, которые могли возникнуть в этих версиях при репликации. Кроме того, следует сделать новые резервные копии баз данных, в которых были такие индексы.

При обновлении с версии 9.6.8.2 и ниже вы должны перестроить индексы, в которых используются типы mchar или mvarchar.

При обновлении с версии 9.6.2.1 и ниже вы должны перестроить индексы GiST, построенные по столбцам типа intarray.

При обновлении с версии 9.6.1.2 в дистрибутивах Linux с системой пакетов RPM вы должны переименовать каталог данных pgsql в pgproee до запуска скрипта pgpro_upgrade.

В некоторых дистрибутивах Linux вам может быть предложено запустить pgpro_upgrade вручную. В этом случае вы должны остановить службу postgres. Этот скрипт должен запускать пользователь-владелец базы данных (обычно postgres), а переменная окружения PGDATA должна указывать на каталог, где располагается база данных. При попытке запустить pgpro_upgrade от имени root произойдёт ошибка. Данное действие не требуется выполнять при обновлении с версии 9.6.4.1 или выше.