E.9. Postgres Pro Enterprise 13.13.1

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

E.9.1. Обзор

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

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

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

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

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

  • Прекращена поддержка обновления корректирующих версий без перезагрузки сервера: удалён параметр pg-setup --enable-online-upgrade, и команда pg_ctl update признана устаревшей. Обратите внимание: даже если в сборке было отключено обновление «на лету», в ней может присутствовать дополнительный тип общей памяти POSIX, который сейчас также признан устаревшим, и вместо него следует использовать mmap (см. shared_memory_type).

  • Расширение 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.3.9.

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

E.9.2. Миграция на версию 13.13.1

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

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

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

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

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

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

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

Если в вашей инсталляции Postgres Pro Enterprise 13.2.1 имеются сжатые табличные пространства, созданные без явного выбора алгоритма pglz, произведите обновление следующим образом. До обновления выгрузите полный дамп, используя pg_dumpall. Обновите Postgres Pro Enterprise, пересоздайте кластер баз данных и восстановите все данные из дампа. Затем вы можете создать табличные пространства CFS по прежней схеме.

Если вы уже обновили инсталляцию Postgres Pro Enterprise 13.2.1 с табличными пространствами CFS и потеряли доступ к сжатым данным, обратитесь к службе поддержки.

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