E.1. Postgres Pro Standard 14.19.1

Дата выпуска: 2025-09-10

E.1.1. Обзор

Этот выпуск основан на PostgreSQL 14.19 и Postgres Pro Standard 14.18.1. Все усовершенствования, унаследованные от PostgreSQL 14.19, перечислены в Замечаниях к выпуску PostgreSQL 14.19. Другие важные изменения и улучшения перечислены ниже:

  • Оптимизировано поведение при работе с функцией COALESCE. Теперь функция заменяется одним аргументом, если остальные аргументы оказываются null. Это позволяет улучшить оценку избирательности для условий запросов и создавать более эффективные планы выполнения запросов.

  • Добавлены следующие изменения в реализацию crash_info:

    • Добавлены параметры конфигурации crash_info_timer, crash_info_timer_interval и crash_info_query_threshold, которые позволяют профилировать длительные запросы в выходных файлах crash_info.

    • Расширена диагностическая информация, которую параметр конфигурации crash_info_dump позволяет записать в случае сбоя сервера. По умолчанию теперь поддерживается запись общей информации об ошибке (сигнале), а для Linux x64 также дамп информации о состоянии процессора и байтов рядом с RIP (return instruction pointer, указатель возврата инструкции). Всё это обеспечивает лучшую диагностику, в частности, для сигналов SIGILL (недопустимая инструкция). Также был изменён способ дампа стека в случае сбоев для Linux x64. Кроме того, memory_context удалён из списка источников дампа по умолчанию, чтобы избежать сбоев, которые могут возникнуть при записи диагностической информации.

  • Устранена проблема при обработке очереди LISTEN/NOTIFY, из-за которой нельзя было получить статус транзакции. Ранее процедура VACUUM FREEZE могла увеличить значение datfrozenxid слишком сильно.

  • Устранена проблема, из-за которой планировщик мог выбирать неоптимальные планы выполнения запросов с оператором LIKE для типа данных mchar.

  • Добавлена поддержка ОС Debian 13, Red Hat Enterprise Linux 10, Rocky Linux 10, Oracle Linux 10 и AlmaLinux 10.

  • Прекращена поддержка ОС Ubuntu 20.04.

  • Обновлён модуль aqo. Включены следующие исправления:

    • Устранено условие гонки при вызове функции aqo_cleanup из разных сеансов.

    • Устранена проблема, из-за которой данные обучения aqo не сохранялись для запросов с материализацией.

  • Модуль auto_explain обновлён. В выводе время планирования запроса вынесено в отдельную строку под деревом планировщика, как это сделано в выводе EXPLAIN. Ранее pgbadger не мог распознать информацию о запросе и поэтому не включал её в отчёт.

  • Обновлено расширение pg_proaudit. Включены следующие усовершенствования:

    • Добавлена поддержка формата CEF для файлов журналов событий.

    • Скорректирован вывод pg_proaudit. Теперь поля xid и vxid не отображаются, если имеют нулевое значение.

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

    • Для команды add-instance добавлен параметр --wal-tree, который позволяет хранить заархивированные файлы WAL в древовидной структуре. Это повышает производительность операций при работе с журналами большого объёма.

    • В вывод команды show добавлено поле postgres-edition в формате JSON для отображения информации о редакции СУБД.

    • Улучшена работа с параметром --dry-run при восстановлении табличных пространств. Оценка операции и вывод плана стали более точными.

    • Устранена проблема, связанная с вычислением окна хранения. Значение времени теперь берётся с компьютера, на котором работает pg_probackup. Окно хранения вычисляется правильно, даже если серверы расположены в разных часовых поясах.

    • Устранена проблема, связанная с работой команды archive-get. Теперь каталог pbk_prefetch создаётся с правильными правами доступа, которые наследуются из PGDATA.

    • Устранён ложный сбой команды checkdb, возникавший в удалённом режиме при параллельных операциях TRUNCATE или удалении таблиц на резервных узлах.

  • Устранены следующие проблемы с модулем pgpro_bindump:

    • Устранён риск сбоя pg_probackup3, если в ходе проверки резервных копий с использованием модуля pgpro_bindump в режиме PRO встречались временные таблицы.

    • Устранена утечка памяти в pg_probackup3 при использовании модуля pgpro_bindump для операций PTRACK.

    • Устранена проблема, которая могла вызывать зацикливание в pg_probackup3 при использовании модуля pgpro_bindump.

    • Устранена проблема с резервным копированием в нескольких линиях времени в режиме PTRACK в pg_probackup3 при использовании модуля pgpro_bindump в режиме PRO.

  • Модуль pgpro_pwr обновлён до версии 4.10, в которой полностью изменён дизайн отчётов и добавлена поддержка PostgreSQL 18.

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

  • Устранена проблема, из-за которой при использовании пресета 1c.tune утилиты pgpro_tune задавались неверные значения параметров конфигурации.

  • Модуль pg_query_state обновлён до версии 1.2, в которую добавлены функции pg_progress_bar и pg_progress_bar_visual, позволяющие отслеживать текущий прогресс выполнения запросов.

  • Обновлён модуль rum. Включены следующие исправления:

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

    • Устранён бесконечный цикл сканирования индекса при использовании нескольких предложений ORDER BY.

E.1.2. Миграция на версию 14.19.1

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

Версия ABI может измениться в корректирующем выпуске Postgres Pro. В таком случае при попытке запустить расширение возникает ошибка ABI mismatch (Несоответствие ABI), поэтому обязательно установите новую версию расширения, поставляемую с новым выпуском Postgres Pro, или перекомпилируйте стороннее расширение, чтобы использовать его с текущей версией Postgres Pro.

Если вы создаёте резервные копии с помощью pg_probackup и ранее обновили его до версии 2.8.0 или 2.8.1, обязательно обновите его до версии 2.8.2 или выше и сделайте полную резервную копию базы данных после обновления, поскольку резервные копии, созданные с использованием этих версий, могут быть повреждены. Чтобы проверить, повреждены ли резервные копии, созданные с помощью версий 2.8.0 или 2.8.1, можно использовать версию 2.8.2.

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

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

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