E.16. Postgres Pro Enterprise 12.13.1

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

E.16.1. Обзор

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

  • Добавлен параметр slru_buffers_size_scale, позволяющий управлять размером SLRU-буферов в разделяемой памяти. Обратите внимание, что вследствие этого размер буферов изменился.

  • Улучшена логика сборки мусора в CFS. Теперь процент «мусорных» блоков в файле рассчитывается исходя из размера файла, округлённого до 4 КБ (типичный размер блока в файловых системах), что предотвращает частую дефрагментацию небольших файлов.

  • Устранена проблема, которая в редких случаях могла приводить к краху реплики при физической репликации. Ранее записи WAL с информацией об обновлении и инициализации страниц кучи не содержали pd_multi_base, в результате чего значения xmax могли оказаться некорректными.

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

  • Обеспечена совместимость in_memory с автономными транзакциями.

  • Приложение mamonsu обновлено до версии 3.5.2, в которой были исправлены некоторые ошибки и появились новые возможности. Основные изменения перечислены ниже:

    • Добавлены метрики использования автоочистки.

    • Добавлены макросы Zabbix на основе параметров дополнительных модулей из файла конфигурации, так что теперь триггеры можно динамически менять прямо в Zabbix без обновления файла конфигурации и перезапуска mamonsu.

  • Прекращена поддержка расширения multimaster.

  • В набор пакетов Postgres Pro для Windows добавлен oracle_fdw.

  • Приложение pg_probackup обновлено до версии 2.5.10, в которой улучшена производительность и исправлены некоторые ошибки. Основные изменения перечислены ниже:

    • Оптимизировано резервное копирование файлов *.cfm путём усечения конечных нулей.

    • Устранена проблема в команде checkdb --amcheck, которая ранее не могла обрабатывать базы, содержащие секционированные индексы.

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

  • Модуль pgpro_pwr обновлён до версии 4.1, главным новшеством которой стало добавление статистики JIT в отчёты.

  • Расширение pgpro_scheduler обновлено до версии 2.8. В этой версии добавлена функция schedule.timetable(), возвращающая все задания (многократно повторяемые и одноразовые), которые должны выполниться в заданном интервале времени.

  • Модуль pgpro_stats обновлён до версии 1.4.3, в которой, в частности:

    • Исправлена ошибка, которая могла вызвать крах сервера во время нормализации текста запроса при использовании расширенного протокола.

E.16.2. Миграция на версию 12.13.1

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

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

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

Если вы ранее мигрировали с Postgres Pro Enterprise версии 11 или 10, обязательно перестройте индексы-B-деревья (за исключением уникальных, покрывающих и системных индексов). Перестроить такие индексы также рекомендуется, если вы мигрируете с указанных версий на текущую.

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

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