E.22. Postgres Pro Enterprise 12.8.1

Дата выпуска: 2021-09-20

E.22.1. Обзор

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

  • Устранён ряд проблем, связанных с обновлением кластера Postgres Pro Enterprise до текущей основной версии с использованием pg_upgrade:

    • Добавлено преобразование карты видимости для исправления ошибки, которая могла привести к появлению фантомных результатов при использовании индексов btree.

    • Добавлен параметр enable_legacy_btree_deduplication для корректного обновления кластера Postgres Pro Enterprise, содержащего очень большие таблицы. Ранее в таких таблицах индексы-B-деревья могли повредиться после обновления.

    • Ликвидирована ошибка в обработке страниц со списками идентификаторов в GIN-индексах, осуществляемой после миграции. Вследствие этой ошибки могли повреждаться индексы GIN, что проявлялось, в частности, в сообщениях «ERROR: XX000: tuple offset out of range» (ОШИБКА: XX000: смещение кортежа вне диапазона) на ведомом сервере.

    • Ликвидировано неправильное преобразование идентификаторов мультитранзакций из 32-битного в 64-битный формат во время обновления, вследствие чего могли выводиться неактуальные версии строк.

  • Добавлена поддержка ОС Debian 11.

  • Приложение mamonsu обновлено до версии 3.0, которая несовместима с предыдущей. Прежде чем перейти к использованию данной версии, ознакомьтесь с Замечаниями о совместимости mamonsu.

  • Добавлена поддержка РЕД ОС 7.3 МУРОМ.

  • Ликвидирован дефект в расширении multimaster, который мог привести к ошибке обновления строк, созданных из хранимой процедуры. Теперь значения последовательностей генерируются корректно при обращении к объекту последовательности из хранимой процедуры.

  • Устранена ошибка в pgpro_scheduler, в результате которой невозможно было остановить ведомый сервер, например командой pg_ctl.

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

  • Исправлено поведение команды ALTER TABLE IF EXISTS таблица RENAME TO таблица1 в случаях, когда исходная таблица отсутствует и при этом загружено расширение pg_pathman. Ранее выдавалось сообщение уровня ERROR, а теперь — NOTICE; именно так ведёт себя Postgres Pro, когда расширение pg_pathman не загружено.

  • Приложение amcheck обновлено до версии 1.2.1, в которой реализована проверка уникальных ограничений в индексах-B-деревьях.

  • Приложение pg_probackup обновлено до версии 2.5.1, в которой добавлена новая команда catchup для копирования экземпляра Postgres Pro напрямую, без использования каталога резервных копий. Это позволяет добавить новый ведомый сервер в параллельном режиме или синхронизировать отставший ведомый сервер с ведущим.

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

  • Реализована буферизация ввода/вывода для CFS, вследствие чего достигнуто некоторое ускорение на HDD.

  • Исправлено поведение в особых случаях при обработке снимков в параллельных исполнителях.

  • Улучшена стабильность модуля aqo при обработке запросов, типичных для ORM-решений, таких как 1C:Предприятие.

E.22.2. Миграция на версию 12.8.1

Если вы производите обновление выпуска Postgres Pro Enterprise, базирующегося на той же основной версии PostgreSQL, достаточно просто установить новый выпуск в текущий каталог инсталляции.

Важно

Если вы ранее мигрировали на Postgres Pro Enterprise версии 12.7.1 или ниже, обязательно перестройте индексы GIN, выполнив команду REINDEX.

Важно

Если вы ранее мигрировали с Postgres Pro Enterprise версии 11 или 10, обязательно перестройте индексы-B-деревья (за исключением уникальных, покрывающих и системных индексов). Перестроить такие индексы также рекомендуется, если вы мигрируете с указанных версий на текущую.

Если вы используете PTRACK в процедуре резервного копирования, реализуемой c помощью утилиты pg_probackup, и обновляетесь с Postgres Pro Enterprise версии 12.6.x или ниже, сделайте полную резервную копию базы данных после обновления.

Для перехода с PostgreSQL, а также с выпуска Postgres Pro Standard или Postgres Pro Enterprise, базирующегося на предыдущей основной версии PostgreSQL, обратитесь к инструкциям по миграции на версию 12.