E.8. Postgres Pro Enterprise 14.10.1

Дата выпуска: 2023-11-23

E.8.1. Обзор

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

  • Добавлены новые параметры конфигурации pgpro_build, pgpro_edition и pgpro_version, сообщающие идентификатор состояния исходного кода Postgres Pro, редакцию и версию сервера соответственно.

  • Оптимизировано потребление памяти и время выполнения большого количества выражений x=c_i (где c_i — константы и i>= 500), объединённых оператором OR. Оптимизация основана на преобразовании выражений OR в ANY, например x=1 OR x=2 OR x=3 преобразуется в x=ANY([1,2,3]).

  • Ограничены права ролей с атрибутом CREATEROLE и их возможность изменять другие роли. Ранее роли с правом CREATEROLE могли изменять разные свойства обычных ролей (не суперпользователей). Теперь для изменения некоторых свойств других ролей, включая назначение членства, требуется наличие права ADMIN OPTION. Например, теперь роли с правом CREATEROLE могут изменять атрибуты CREATEDB, REPLICATION и BYPASSRLS, только если у них есть соответствующие права.

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

  • Исправлена проблема с очисткой страниц при обновлении кластера Postgres Pro Enterprise с помощью pg_upgrade. Эта проблема могла проявляться в виде ошибок «cannot fit xid into page» (xid не помещается на странице). Теперь учитываются транзакции в мультитранзакциях, изменяющие данные, и pd_xid_base для страниц рассчитывается правильно.

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

  • Исправлена внутренняя ошибка, которая могла возникать из-за того, что индексное отношение переносилось в другое пространство имён так же, как простое отношение.

  • Устранено слишком долгое планирование, потенциально происходившее в случаях, когда из-за наличия JOIN и индекса увеличивалось количество рассматриваемых вариантов. Время планирования сократилось за счёт построения индексов классов эквивалентности и их членов.

  • Добавлена поддержка ОС Альт СП релиз 10.

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

  • Расширение oracle_fdw обновлено до версии 2.6.0.

  • Модуль orafce обновлён до версии 4.6.1.

  • pg_filedump обновлён до версии 16.0.

  • pgbouncer обновлён до версии 1.20.1.

  • Обновлена утилита pg_integrity_check, в ней появилось три новых параметра.

  • Расширение pg_proaudit обновлено до версии 1.2, в которую были включены следующие изменения:

    • Имя событий CONNECT, регистрируемых pg_proaudit, изменено на AUTHENTICATE.

    • Удалены параметры конфигурации pg_proaudit.syslog_facility и pg_proaudit.syslog_ident. Вместо них можно использовать параметры syslog_ident и syslog_facility.

    • Записи pg_proaudit в syslog теперь имеют метку AUDIT, что позволяет однозначно их определять.

    • Добавлен аргумент db_name для функций, которые добавляют и удаляют правила регистрации событий. Этот аргумент позволяет указать имя базы данных, для которой необходимо регистрировать события безопасности. Кроме того, аргумент role_oid теперь может передаваться со значением NULL, чтобы включить регистрацию действий для всех пользователей.

  • Утилита pgpro_controldata обновлена до версии 16.1.0.

  • Расширение pg_hint_plan обновлено до версии 1.4.2.

  • Расширение pgpro_stats обновлено до версии 1.6.3, в которой была устранена проблема в коде, препятствовавшая созданию данных для представления pgpro_stats_vacuum_tables. Соответственно, таблица «Database vacuum statistics» (Статистика очистки баз данных) теперь включается в отчёт pgpro_pwr.

  • Приложение pg_probackup обновлено до версии 2.6.7 Enterprise, в которой улучшена стабильность команды catchup.

  • Расширение PTRACK обновлено до версии 2.5.1 Enterprise.

  • Исправлена ошибка сегментации, которая могла возникать, когда фоновый рабочий процесс типа database manager не создавался, но pgpro_scheduler предполагал обратное и продолжал работу.

  • Расширение tds_fdw обновлено до версии 2.0.3.

E.8.2. Миграция на версию 14.10.1

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

Если вы хотите сохранить существующее представление карт видимости в pageinspect при миграции на текущую основную версию Postgres Pro Enterprise с использованием pg_upgrade, выполните команду VACUUM, прежде чем начинать обновление.

Начиная с Postgres Pro Enterprise 14.10.1, права ролей с атрибутом CREATEROLE ограничены, и для изменения свойств других ролей требуется наличие права ADMIN OPTION.

Настоятельно не рекомендуется обновлять кластер с 32-битными идентификаторами транзакций на версии Postgres Pro Enterprise ниже 14.9.2 при наличии мультитранзакций в базе данных, поскольку это может вызвать повреждение данных.

При обновлении до версии Postgres Pro Enterprise 14.8.1 и выше обязательно обновите pg_probackup Enterprise до версии 2.6.4 или выше, поскольку более ранние версии pg_probackup несовместимы с этими версиями Postgres Pro Enterprise.

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