E.18. Postgres Pro Enterprise 13.7.1

Дата выпуска: 2022-06-14

E.18.1. Обзор

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

  • Устранён сбой реплики с выводом сообщения "PANIC: WAL contains references to invalid pages" (ПАНИКА: WAL содержит ссылки на неправильные страницы), когда количество транзакций превышало 2^31 и был отключён режим full_page_writes.

  • Исправлена ошибка, которая возникала при попытке прочитать параметр, имеющий значение NULL (в том числе чтение выполняется в вызове set_config(setting_name, null, is_local)).

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

  • Добавлена поддержка системы Ubuntu 22.04.

  • Прекращена поддержка системы ОСнова 2.0.

  • Функция pg_freespacemap pg_freespace теперь реализована на C вместо использовавшегося ранее SQL и отображает правильное количество свободного места на страницах для таблиц в сжатых табличных пространствах.

  • Приложение pg_probackup обновлено до версии 2.5.6, в которой по сравнению с версией 2.5.5 были исправлены некоторые ошибки и появились новые возможности:

    • Добавлен флаг --dry-run для команды catchup, позволяющий оценить размер передаваемых файлов данных без внесения изменений на диск.

    • Изменён уровень детализации протоколирования некоторых сообщений catchup для удобства чтения журнала пользователем.

    • Исправлена ошибка, препятствовавшая правильному перечитыванию блока после появления сообщения «File: ... blknum ... have wrong checksum, try again» (В файле: ... blknum ... содержит неверную контрольную сумму, попробуйте снова).

  • Модуль PTRACK обновлён до версии 2.3.0: оптимизирована загрузка карты PTRACK, которая ранее в некоторых случаях могла значительно замедлить загрузку всей базы данных. Существенное ускорение наблюдается для карт большого размера.

  • Приложение pgpro_stats обновлено до версии 1.4, в которой были исправлены некоторые ошибки и появились новые возможности:

    • Добавлены представления pgpro_stats_vacuum_tables и pgpro_stats_vacuum_indexes, которые показывают статистику очистки таблиц и индексов соответственно. Кроме того, добавлены одноимённые функции, которые определяют эти представления для любой указанной базы данных и таблицы/индекса, а также могут возвращать статистику очистки всех таблиц/индексов в указанной базе данных.

    • Исправлена ошибка выделения дополнительной общей памяти. Размер этой памяти рассчитывался с ошибкой, что могло привести к повреждению памяти, неправильному вычислению статистики или даже к сбою сервера.

    • Устранена ошибка, приводившая к сбою сервера, когда через расширенный протокол запросов серверу один за другим передавались запросы, отличающиеся лишь константами в тексте запроса.

  • Модуль pgpro_pwr обновлён до версии 3.9, в которой были исправлены некоторые ошибки и появились новые возможности:

    • В отчёт добавлена статистика по событиям аннулирования и статистика очистки таблиц и индексов.

    • Оптимизирована обработка устаревших словарных записей в репозитории истории pgpro_pwr.

    • Исправлен тип значения в расчёте времени ожидания при получении выборки. Данное исправление предотвращает целочисленное переполнение, возникавшее в редких случаях.

  • В модуле vops функция unnest() с конфликтующим определением была переименована в vops_unnest().

E.18.2. Миграция на версию 13.7.1

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

Если вы ранее мигрировали на 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.