E.8. Postgres Pro Enterprise 15.5.1

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

E.8.1. Обзор

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

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

  • Добавлен параметр конфигурации vacuum_update_datfrozenxid_only_when_needed для повышения производительности при очистке большого количества таблиц.

  • Реализованы доступные только в Postgres Pro расширения стандарта пути SQL/JSON: конструктор последовательностей, конструктор массивов, конструктор объектов и индексация объектов. Их можно включить, указав дополнительный модификатор pgpro.

  • Оптимизировано потребление памяти и время выполнения большого количества выражений 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, только если у них есть соответствующие права.

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

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

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

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

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

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

  • Добавлена поддержка драйвера открытого соединения с базами данных (ODBC).

  • Расширение 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.5.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 предполагал обратное и продолжал работу.

  • В расширение sr_plan добавлено представление sr_plan_local_cache. Оно содержит подробную информацию о зарегистрированных и замороженных операторах в локальном кеше.

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

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

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

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

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

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

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