E.3. Postgres Pro Enterprise 13.16.1
Дата выпуска: 2024-09-05
E.3.1. Обзор
Этот выпуск основан на PostgreSQL 13.16 и Postgres Pro Enterprise 13.15.2. Все изменения, унаследованные от PostgreSQL 13.16, описаны в Замечаниях к выпуску PostgreSQL 13.16. По сравнению с Postgres Pro Enterprise 13.15.2 эта версия также содержит следующие изменения:
Увеличена производительность поиска сегментов за счёт внедрения новой стратегии, позволяющей быстрее определять последний сегмент.
Реализовано взаимодействие параметра PASSWORD_GRACE_TIME профиля с атрибутом
VALID UNTIL
роли. Теперь, если заданы оба, будет выводиться предупреждение об истечении срока действия пароля.Предотвращены потенциальные задержки аутентификации из-за блокировок, вызванных тем, что данные о времени последнего входа роли не обновлялись, если для параметра
USER_INACTIVE_TIME
профиля этой роли было установлено значениеUNLIMITED
(за подробностями обратитесь к Разделу 54.39).Решены следующие проблемы в CFS:
Устранены проблемы, связанные с обработкой структур данных CFS утилитой pg_rewind. Ранее pg_rewind не полностью поддерживала CFS, что могло приводить к повреждению данных.
Решена проблема в CFS, которая могла приводить к сбою рабочего процесса сборки мусора с выводом предупреждения «CFS GC failed to read block 0 of file X at position 0 size 0: Success» (CFS GC не удалось прочитать блок 0 файла X в позиции 0, размер 0: Успех). Проблема возникала из-за некорректной обработки первого МБ файла данных, содержащего только нулевые страницы.
Устранена ошибка сегментации, которая могла возникнуть, если соединение со встроенным пулом соединений было сброшено до создания нового сеанса в обслуживающем процессе.
Устранена проблема с замораживанием 64-битных идентификаторов мультитранзакций, которая могла проявляться в ошибках уровня PANIC, таких как «xid XXX does not fit into valid range for base YYY» (xid XXX не попадает в допустимый диапазон для базы YYY) во время автоочистки.
Устранена ошибка, связанная с неоптимальной обработкой
pd_prune_xid
. Она не приводила к каким-либо существенным проблемам в работе, но вызывала ненужную очистку страниц, которая могла приводить к появлению дополнительных записей WAL.Устранена проблема, которая могла проявляться в ошибках вида «invalid FSM request size» (недопустимый размер запроса FSM). Код был скорректирован с учётом изменений в структуре страниц кучи, что исключило зависимость от константы, связанной с максимальным свободным пространством на странице кучи, в случаях, где это не применимо.
Устранена ошибка, из-за которой оптимизатор игнорировал столбцы из условий запроса. Ранее при частичном использовании составного индекса количество строк могло завышаться, что приводило к созданию некорректного плана. Ошибка возникала из-за неправильного поведения элементов многостолбцовой статистики.
Устранена ошибка в
ANALYZE
, которая могла возникать из-за невозможности отобразить системный каталогpg_statistic
. Если в базе данных есть индексы со столбцамиINCLUDE
, после обновления Postgres Pro рекомендуется ещё раз выполнитьANALYZE
для этих столбцов, чтобы это исправление применилось.Добавлена поддержка ОС Альт 11.
Обновлено расширение mchar для устранения ошибки, из-за которой игнорировались управляющие символы при сравнении строк типов данных
mchar
иmvarchar
.Реализована возможность замедлять выполнение транзакций на узле-доноре в расширении multimaster с помощью параметра конфигурации
multimaster.tx_delay_on_slow_catchup
. Это полезно, когда отстающий узел навёрстывает состояние узла-донора и не может быстро применять изменения.Расширение pg_filedump обновлено до версии 17.0, в которой были исправлены некоторые ошибки и появились новые возможности. В частности, содержимое метастраниц для индексов GIN и SP-GiST теперь отображается корректно, а также устранена проблема нехватки памяти для кодирования и распаковки.
Обновлено расширение pg_proaudit. Включены следующие исправления и усовершенствования:
Улучшена производительность и добавлен параметр
pg_proaudit.max_rules_count
, позволяющий указать максимально допустимое количество правил.Устранена ошибка для корректной поддержки имён баз данных, содержащих символы верхнего регистра, при работе функции
pg_proaudit_set_rule
.
Приложение pg_probackup обновлено до версии 2.8.3 Enterprise, в которую были включены следующие исправления:
Исправлена проверка резервных копий для баз данных, содержащих OID более 10^9. Ранее в таких случаях статус проверки мог отображаться некорректно.
Устранена ошибка, которая могла возникать при запуске pg_probackup от имени пользователя, включённого в группу
postgres
, если в базе данных использовалась CFS.
Исправлено некорректное поведение pg_wait_sampling при использовании с расширенным протоколом запросов.
E.3.2. Миграция на версию 13.16.1
Если вы производите обновление выпуска Postgres Pro Enterprise, базирующегося на той же основной версии PostgreSQL, достаточно просто установить новый выпуск в текущий каталог инсталляции.
Важно
При обновлении отказоустойчивого кластера с Postgres Pro Enterprise версии 13.15.x или ниже сначала отключите автоматическое аварийное переключение узлов, если оно было включено, и обновите все резервные серверы, затем обновите ведущий сервер, повысьте резервный сервер до ведущего и перезапустите бывший ведущий сервер (возможно, с использованием pg_rewind).
Если вы создаёте резервные копии с помощью pg_probackup и ранее обновили его до версии 2.8.0 Enterprise или 2.8.1 Enterprise, обязательно обновите его до версии 2.8.2 Enterprise или выше и сделайте полную резервную копию базы данных после обновления, поскольку резервные копии, созданные с использованием этих версий, могут быть повреждены. Чтобы проверить, повреждены ли резервные копии, созданные с помощью версий 2.8.0 или 2.8.1, можно использовать версию 2.8.2.
Если вы хотите сохранить существующее представление карт видимости в 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.