E.6. Postgres Pro Enterprise 15.4.2

Дата выпуска: 2023-09-15

E.6.1. Обзор

Этот выпуск основан на Postgres Pro Enterprise 15.4.1 и включает следующие изменения:

  • Устранены две проблемы, которые могли появляться после обновления Postgres Pro Enterprise при помощи pg_upgrade. Первая проблема заключалась в неправильном преобразовании идентификаторов мультитранзакций из 32-битного в 64-битный формат: идентификаторы мультитранзакций по ошибке увеличивались на 1, а файлы в подкаталогах pg_multixact/members и pg_multixact/offsets в некоторых случаях смещались. Это проявлялось в ошибках вида «found multixact XXX from before relminmxid...» (найденный multixact XXX предшествует relminmxid...). Вторая проблема вызывала некорректное преобразование цепочки HOT из 32-битной в 64-битную и приводила к удалению промежуточных кортежей в цепочке HOT, но не влияла на данные.

  • Устранены условия гонки во время блокировки ресурсов, что было вызвано упущением, привнесённым недавно при оптимизации сборщика мусора CFS, и могло приводить к потере данных. При этом в pg_depend могли оставаться записи, ссылающиеся на удалённые временные таблицы.

  • Устранена утечка памяти в mchar.

E.6.2. Миграция на версию 15.4.2

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

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

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