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

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

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

  • Доработано расширение Раздел F.28 для правильной сортировки букв «й» и «ё». Перестройте индексы, использующие типы mchar или mvarchar, с помощью команды REINDEX.

  • Утилита pg_probackup обновлена до версии 2.0.17, в которой появились новые возможности:

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

    • Новые параметры команд restore и validate:

      • Параметр --immediate останавливает восстановление, как только достигается согласованное состояние.

      • Параметр --recovery-target-action задаёт действие, которое должен выполнить сервер по достижении цели восстановления.

      • Параметр --recovery-target-name указывает именованную точку сохранения, вплоть до которой будут восстановлены данные кластера.

      • С --write-recovery-conf в каталог вывода записывается минимальный файл recovery.conf для упрощения настройки резервного сервера.

      За подробностями обратитесь к pg_probackup.

  • Доработка PTRACK обновлена до версии 1.6.

    • Теперь ptrack не отслеживает нежурналируемые отношения.

  • Обновлён модуль jsquery.

  • Модуль pg_pathman обновлён до версии 1.4.11. Эта версия по сравнению с 1.4.9 включает следующие усовершенствования:

    • Устранена проблема с дублированием записей в результатах запросов с наследованными таблицами. Вообще говоря, многоуровневое секционирование pg_pathman не поддерживает.

    • Устранена ложная ошибка table is being partitioned now (таблица сейчас секционируется), возникавшая в partition_table_concurrently().

    • Ослаблена обработка ограничения-проверки.

    • Исправлено некорректное использование memcpy() в start_bgworker().

    • Полный список изменений можно найти на вики-странице pg_pathman.

  • Произведено исправление ряда ошибок в модуле shared_ispell.

  • Доработана версия Postgres Pro Standard для Windows:

    • Устранена возникавшая в Windows проблема при вставке из буфера обмена в psql строк, содержащих знаки из разных наборов символов.

    • Усовершенствован алгоритм оптимизации предлагаемой по умолчанию конфигурации.

    • Теперь, устанавливая Postgres Pro в командной строке, вы можете отключить оптимизацию конфигурации, присвоив в INI-файле параметру needoptimization значение 0.

E.1.2. Миграция на версию 9.6.9.1

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

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

Важно

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

Для обновления с версии Postgres Pro Standard, основанной на этом же основном выпуске PostgreSQL, выгрузка/восстановление данных не требуется. Если вы производите обновление с версии 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.