E.19. Postgres Pro Enterprise 14.2.1

Дата выпуска: 2022-05-13

E.19.1. Обзор

Этот выпуск основан на PostgreSQL 14.2 и включает все новые возможности, появившиеся в PostgreSQL 14, а также исправления ошибок, вошедшие в корректирующие выпуски PostgreSQL 14.1 и 14.2. Подробное описание этих новшеств вы можете найти в замечаниях к выпускам PostgreSQL 14, PostgreSQL 14.1 и PostgreSQL 14.2 соответственно.

Список дополнительных модулей и утилит, добавленных в Postgres Pro Enterprise, а также перечень ключевых видимых пользователям изменений в ядре сервера по сравнению с ванильным PostgreSQL вы можете найти в Разделе 2. Ниже перечислены значимые отличия этой версии от Postgres Pro Enterprise 13.6.1:

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

  • Унаследована ванильная реализация периодической проверки соединения клиент-сервер во время выполнения запроса. Соответствующий параметр client_connection_check_interval теперь фактически отключён по умолчанию.

  • Устранена уязвимость CVE-2022-1552.

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

  • Включена временная ознакомительная версия расширения multimaster.

  • Реализован сбор статистики очистки таблиц и индексов. Собранная информация отображается в представлениях pgpro_stats.

  • Модуль pgpro_pwr обновлён до версии 3.8, в которой в отчёт включается статистика по событиям аннулирования и очистке таблиц и индексов.

E.19.2. Миграция на версию 14

Вы можете перейти на Postgres Pro Enterprise 14 с той же или предыдущей версии PostgreSQL (которая поддерживается выбранным способом обновления) или Postgres Pro Standard/Postgres Pro Standard Certified, а также с предыдущей версии Postgres Pro Enterprise/Postgres Pro Enterprise Certified. То же самое справедливо для перехода на Postgres Pro Enterprise Certified 14. Способы обновления кластера базы данных описаны в Разделе 18.6. Если у вас возникнут проблемы при переходе на новую версию, обратитесь в службу поддержки Postgres Pro Enterprise. Обратный переход не поддерживается. Обратите внимание, что переход с Postgres Pro Enterprise на Postgres Pro Enterprise Certified той же основной версии (или наоборот) — это обновление на совместимую версию Postgres Pro (за подробным описанием обратитесь к Разделу 18.6).

Для перехода с PostgreSQL, Postgres Pro Standard или выпуска Postgres Pro Enterprise, основанного на предыдущей основной версии PostgreSQL, сначала установите его последний корректирующий выпуск, а затем выполните выгрузку/восстановление данных, применив pg_dumpall, или воспользуйтесь pg_upgrade:

  • Если вы решите использовать pg_upgrade, важно инициализировать новый кластер баз данных с совместимыми параметрами. В частности, обратите внимание на характеристику контрольных сумм и выбор провайдера основного правила сортировки в кластере, который вы будете обновлять. Если pg_upgrade создаст какие-либо скрипты SQL в текущем каталоге, выполните их для завершения обновления.

  • Если вы выбираете вариант с выгрузкой/восстановлением данных, не забудьте при выгрузке добавить ключ --add-collprovider, чтобы для обновляемой базы данных был установлен правильный провайдер основного правила сортировки.

Понять, какое правило сортировки является основным в старом кластере и какой провайдер оно использует, можно по значению datcollate для базы данных template0 в каталоге pg_database. Если вы производите обновление с версии, в которой провайдер основного правила сортировки не задан, опустите указание провайдера при переходе с предыдущих версий Postgres Pro или выберите провайдер libc при переходе с ванильного PostgreSQL.

При переходе с PostgreSQL или Postgres Pro Standard обязательно уделите внимание особенностям реализации, связанным с 64-битными идентификаторами транзакций. Если вы ранее использовали явные приведения идентификаторов транзакций к 32-битным целым, вы должны заменить их на приведения к типу bigint, так как 64-битные идентификаторы транзакций имеют такой тип.

Примечание

Во избежание конфликтов в системах Linux не используйте пакет postgrespro-ent-14 для установки исполняемых файлов Postgres Pro, а установите вместо него отдельные пакеты компонентов продукта. В этом случае режим автозапуска сервера, если он требуется, нужно будет включить вручную. Подробнее о предоставляемых пакетах и вариантах установки вы можете узнать в Главе 17.

Другие особенности обновления, присущие и ванильной версии PostgreSQL, описаны в Разделе E.35.