Postgres Pro Standard 9.6.11.1: примечания к релизу

Обзор

Этот выпуск основан на PostgreSQL 9.6.11 и Postgres Pro Standard 9.6.10.3. Все усовершенствования, унаследованные от PostgreSQL 9.6.11, перечислены в Замечаниях к выпуску PostgreSQL 9.6.11.

В число ключевых усовершенствований по сравнению с Postgres Pro Standard 9.6.10.3 входят:

  • Добавлена поддержка операционных систем Ubuntu 18.10, Astra Linux «Смоленск» 1.6 и РЕД ОС 7 МУРОМ.

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

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

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

  • Модуль 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 теперь появился встроенный механизм определения точки согласованности, исключающий риски несогласованности данных в копиях, сделанных на ведомых серверах.

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

    • Для PL/Perl теперь требуется ActivePerl 5.26.

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

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

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

Для обновления СУБД с версии Postgres Pro Standard, основанной на предыдущем основном выпуске PostgreSQL, вы можете выполнить выгрузку/восстановление данных, применив pg_dumpall, или воспользоваться утилитой pg_upgrade. Первый вариант безопаснее, а второй быстрее и может значительно ускорить процесс обновления для больших баз данных.

Для обновления с версии Postgres Pro Standard, основанной на этом же основном выпуске PostgreSQL, выгрузка/восстановление данных не требуется.

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

Если вы производите обновление с версии Postgres Pro Standard 9.6.7.1 или ниже, вы должны также воспользоваться скриптом pgpro_upgrade, предоставленным в данном дистрибутиве. Этот скрипт обновляет метаданные для смены формата номера каталога, изменившегося после Postgres Pro Standard 9.6.4.1, а также переименовывает функцию pgpro_build в pgpro_source_id. Если вы обновляете инсталляцию Postgres Pro, используя бинарный пакет, скрипт pgpro_upgrade запускается автоматически, либо вам предлагается запустить его вручную.

Примечание

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

Если вы скомпилировали Postgres Pro из исходного кода или создали базу данных в нестандартном расположении, вы должны запустить скрипт pgpro_upgrade вручную.

Примечание

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

Для перехода с ванильной версии PostgreSQL 9.6.x выполните выгрузку/восстановление данных, используя pg_dumpall.