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

Этот выпуск основан на PostgreSQL 9.5.10 и Postgres Pro 9.5.9.1.

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

  • Модуль pg_pathman обновлён до версии 1.4.8. (См. Разд. F.30 и Разд. F.30.4.)
    • Улучшены механизмы сброса кеша.

    • Отключена команда 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.

Обновление с предшествующих выпусков

Если используется версия 9.5.9.1, выгрузка/восстановление базы не требуется.

Однако при обновлении с версии младше 9.5.x.x или с оригинального PostgreSQL 9.5.x требуется произвести некоторые изменения в каталоге.

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

Перед запуском скрипта следует остановить сервис postgresql. Скрипт должен запускать пользователь-владелец файлов базы (обычно postgres). В момент запуска переменная среды PGDATA должна указывать на обновляемую базу.