E.4. Postgres Pro Enterprise 9.6.11.1

Дата выпуска: 2018-11-20

E.4.1. Обзор

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

  • Добавлена поддержка операционной системы Astra Linux «Смоленск» 1.6.

  • Улучшена стабильность автономных транзакций.

  • В системах Windows устранена проблема с перезагрузкой словарей, предоставляемых модулем shared_ispell.

  • Улучшено планирование запросов со множеством операторов OR в предложении WHERE.

  • Устранена проблема в поиске по индексу, приводившая к замедлению при использовании сложных значений jsquery.

  • Улучшена стабильность plantuner и устранена утечка памяти.

  • Добавлен параметр seq_scan_startup_cost_first_row, позволяющий скорректировать приоритеты последовательного сканирования и сканирования индекса.

  • Добавлен параметр lwlock_shared_limit, включающий справедливое распределение лёгких исключительных блокировок после получения заданного количества разделяемых блокировок.

  • Модуль pg_pathman обновлён до версии 1.5.2. Эта версия по сравнению с 1.4.14, входившей в предыдущий выпуск Postgres Pro, включает следующие усовершенствования:

    • Добавлена поддержка многоуровневого секционирования.

    • Ликвидированы триггеры на изменение и добавлен параметр pg_pathman.enable_partitionrouter, включающий межсекционные операции изменений.

    • Функция get_pathman_lib_version() переименована в pathman_version().

    • В новую версию вошли и другие улучшения и исправления ошибок. Полный список изменений можно найти на вики-странице pg_pathman.

  • Модуль pg_probackup обновлён до версии 2.0.24. Эта версия по сравнению с 2.0.19, поставляемой в предыдущем выпуске Postgres Pro, отличается следующими усовершенствованиями:

    • Файлы, которые не содержат данных и не изменились со времени предыдущего копирования, не включаются в инкрементальную копию.

    • Номер версии, заданный в pg_probackup.conf, теперь сохраняется при изменении этого файла, что позволяет точно узнать, какая версия pg_probackup применялась при создании резервной копии.

    • Устранена проблема восстановления сжатых блоков файлов и улучшены проверки ошибок сжатия. Ранее pg_probackup не мог восстановить блоки файлов, которые алгоритм zlib не смог сжать во время резервного копирования. Эту проблему нельзя было выявить встроенным механизмом проверки pg_probackup, так как она проявлялась на уровне ниже, чем уровень проверки. В сложившейся ситуации рекомендуется перепроверить существующие резервные копии, используя эту версию pg_probackup.

    • Улучшен механизм проверки целостности. Файлы теперь по умолчанию проверяются поблочно не только в случае несовпадения контрольной суммы на уровне файлов. Это поведение можно отключить с помощью параметра --skip-block-validation.

    • Появилась возможность перезапустить объединение резервных копий, если предыдущая попытка была прервана.

    • Реализована возможность снятия резервных копий с ведомых серверов без подключения к ведущему. Также в pg_probackup теперь появился встроенный механизм определения точки согласованности, исключающий риски несогласованности данных в копиях, сделанных на ведомых серверах.

  • Модуль pgpro_scheduler обновлён до версии 2.3, в которой реализовано протоколирование всех изменений расписания. Для включения этой функции установите для параметра schedule.enable_history значение true.

  • Версию Postgres Pro для Windows затронули следующие изменения:

    • PL/Perl now requires ActivePerl 5.26.

    • 32-битные версии Postgres Pro более не выпускаются.

E.4.2. Миграция на версию 9.6.11.1

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

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

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

При обновлении с версии 9.6.9.1 или ниже вы должны выполнить команду REINDEX для индексов GiST и SP-GiST.

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

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

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