E.23. Postgres Pro Standard 9.6.6.1

Дата выпуска: 2017-11-14

E.23.1. Обзор

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

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

  • Модуль pg_pathman обновлён до версии 1.4.8. (См. pg_pathman и Подраздел F.36.1.1.) Эта версия по сравнению с 1.4.3 включает следующие усовершенствования:

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

    • Отключена команда COPY секционированная_таблица TO. Вместо неё используйте COPY (SELECT * FROM секционированная_таблица) TO.

    • Исправлена работа триггеров INSTEAD OF с представлениями, построенными по секционированным таблицам.

    • Команда ALTER TABLE секционированная_таблица RENAME TO теперь также переименовывает последовательности с автоматически сгенерированными именами.

    • Отключены некоторые опасные оптимизации команд SELECT ... FOR SHARE/UPDATE для PostgreSQL 9.5.

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

    • Запрещено выполнение запросов DELETE FROM секционированная_таблица_1 USING секционированная_таблица_2... и UPDATE секционированная_таблица_1 FROM секционированная_таблица_2..., если такие запросы затрагивают несколько секций таблицы секционированная_таблица_1.

    • Исправлена ошибка, приводящая к сбоям при выполнении RESET ALL.

    • Исправлена обработка условий WHERE, указывающих на промежутки между секциями.

    • Восстановлена совместимость с pg_repack.

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

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

    • Правильно обрабатывается прерывание при вводе пароля.

    • Добавлена проверка, запрещающая пустые пароли.

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

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

    • Другие исправления разнообразных ошибок.

E.23.2. Миграция на версию 9.6.6.1

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

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

Для обновления с версии Postgres Pro, основанной на этом же основном выпуске PostgreSQL, выгрузка/восстановление данных не требуется. Если вы производите обновление с версии Postgres Pro Standard 9.6.5.1, достаточно установить новую версию в каталог текущей инсталляции. При обновлении с версии Postgres Pro Standard 9.6.4.1 или ниже вы должны также воспользоваться скриптом pgpro_upgrade, предоставленным в данном дистрибутиве. Этот скрипт обновляет метаданные для смены формата номера каталога, изменившегося после Postgres Pro Standard 9.6.4.1. Если вы обновляете инсталляцию 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.