Дата: 2026-06-05
Этот выпуск основан на PostgreSQL 14.23 и Postgres Pro Enterprise 14.22.1. Все изменения, унаследованные от PostgreSQL 14.23, описаны в Замечаниях к выпуску PostgreSQL 14.23. По сравнению с Postgres Pro Enterprise 14.22.1 эта версия также содержит следующие изменения:
Добавлен параметр конфигурации log_parameter_types, который включает или отключает отображение типа данных для каждого значения привязанных SQL-параметров подготовленного запроса в сообщениях журнала. Например, [integer] $1 = '42'.
Реализован запрет на изменение параметра конфигурации hba_file в сертифицированной редакции Postgres Pro Enterprise. Для повышения уровня безопасности также рекомендуется использовать pg_integrity_check, который автоматически проверяет целостность критически важных файлов перед запуском сервера.
В выходные файлы crash_info добавлены идентификаторы сборок исполняемых файлов и разделяемых библиотек.
Исправлена ошибка, из-за которой выгрузка данных при помощи утилиты pg_dump завершалась сбоем по причине зависимости от пользовательских типов данных. Ошибка проявлялась при использовании параметра --transfer-dir.
Исправлена ошибка, которая могла возникать при использовании автоподготовки для запросов, содержащих указания. Теперь автоподготовка пропускает такие запросы, что позволяет использовать её параллельно с pg_hint_plan.
Удалена функциональность оптимизатора для добавления узлов плана Index Only Scan ниже узлов Append, которые генерируются для предложений OR, если для параметра enable_appendorpath установлено значение on. Эта функциональность могла приводить к некорректным планам выполнения запросов и полученным данным.
Исправлены ложно положительные срабатывания проверки, включаемой параметром wal_consistency_checking.
Устранена утечка памяти, которая могла возникать во время обработки предложения EXCEPTION при выполнении автономной транзакции пользовательским кодом на PL/pgSQL.
Исправлена оценка памяти для хеш-соединений: теперь учитывается память, используемая пакетами. Ранее эта память не учитывалась в общем потреблении памяти. Кроме того, в хеш-соединениях добавлена балансировка размера хеш-таблицы в памяти в зависимости от количества пакетов, что предотвращает чрезмерное использование дискового пространства.
Исправлена ошибка, из-за которой в сеансе могла отключаться приоритизация ресурсов после возникновения любой ошибки при выполнении запроса.
Реализованы следующие исправления и усовершенствования для CFS:
Добавлена поддержка индексов и TOAST-таблиц при вычислении их уровня сжатия с помощью функции cfs_estimate.
Улучшены сообщения об ошибках для повреждённых блоков CFS. Теперь эти сообщения включают код выхода и сообщение об ошибке от соответствующей библиотеки сжатия.
Устранена проблема, которая при включённой CFS могла замедлить выполнение запроса DROP DATABASE. Причина заключалась в неправильной обработке системных прерываний, пока команда ожидала возможности взять блокировку файла cfs_gc_lock_file.
Обновлён модуль aqo для исправления ошибки сегментации, которая могла возникать после прерывания вложенной автономной транзакции, для которой использовался модуль aqo. Теперь aqo проверяет уровень вложенности автономных транзакций и не очищает свой локальный кеш при прерывании вложенных транзакций.
Модуль orafce обновлён до версии 4.16.5.
Исправлена проблема, из-за которой модуль pg_query_state мог зависать в ожидании ответа от обслуживающего процесса, выполняющего исследуемый запрос.
Обновлено расширение pg_proaudit. Включены следующие исправления и усовершенствования:
Добавлен параметр конфигурации pg_proaudit.log_file_mode, который устанавливает права доступа к новым файлам журнала событий, создаваемым pg_proaudit. Обратите внимание, что владелец сервера всегда имеет доступ к этим файлам, независимо от значения этого параметра.
Добавлено новое поле для всех типов событий, записываемых в файлы CSV и syslog: IP-адрес источника события. Ранее это поле отображалось только для событий AUTHENTICATE в формате CEF.
Расширено действие параметра конфигурации pg_proaudit.log_rows, который включает или отключает регистрацию количества строк, затронутых SQL-командой. Теперь количество затронутых строк записывается для всех форматов регистрируемых событий.
Добавлена проверка уникального идентификатора события (UUID) для предотвращения неправильного обращения к памяти.
Исправлена ошибка, из‑за которой поле dst событий, регистрируемых в формате CEF, заполнялось неправильно.
Исправлена проблема с избыточным использованием памяти при обработке событий DISCONNECT. Ранее хеш‑таблица, размер которой был пропорционален значению max_connections, приводила к избыточному потреблению памяти при больших значениях этого параметра. Теперь данные хранятся более эффективно.
Исправлена ошибка анализатора запросов в pg_proaudit. Ранее некоторые символы не экранировались при записи событий в формате CEF. Теперь символы экранируются корректно в соответствии со спецификацией CEF.
Приложение pg_probackup обновлено до версии 2.8.14 Enterprise, которая включает следующие улучшения и исправления:
Добавлена поддержка абсолютных путей в параметре --wal-file-path.
Исправлено инкрементальное резервное копирование в режиме PAGE с параметром --stream. Теперь при таком сочетании параметров WAL-файлы корректно сохраняются и внутри резервной копии, и в отдельном архиве.
Утилита pgpro_datactl обновлена до версии 1.5 для исправления ошибки сжатия несжатых табличных пространств. Ранее сжатие не выполнялось, если размер какого-либо блока превышал значение параметра BLCKSZ.
Модуль pgpro_pwr обновлён до версии 4.13, в которой добавлена поддержка статистики Postgres Pro Shardman, общей для кластера. Она также содержит некоторые улучшения и исправления.
Расширение pgpro_scheduler обновлено до версии 2.13.0, в которую включены следующие усовершенствования и исправления:
Улучшен механизм журналирования. Сообщения в журнале стали более единообразными и информативными. Теперь при запуске фонового процесса cron job executor рабочий процесс database manager записывает в журнал сообщение, содержащее идентификатор (PID) этого процесса. Это упрощает отслеживание активности рабочих процессов и сопоставление записей в журнале.
Исправлена ошибка в функции schedule.get_self_id(), которая возвращала неверный идентификатор для заданий cron. Теперь schedule.get_self_id() работает корректно как в заданиях по расписанию, так и в разовых заданиях, возвращая правильный идентификатор.
Исправлена ошибка деактивации задания cron с установленным next_time_statement. Ранее, если деактивация происходила во время выполнения такого задания, оно могло всё равно оставаться активным. Теперь задание деактивируется сразу, независимо от состояния выполнения.
Обновлено расширение pgpro_stats. Включены следующие исправления:
Исправлено чрезмерное потребление памяти запросом, использовавшим pgpro_stats с установленным pgpro_stats.track = all. При этом значении функция, которая присваивает идентификаторы планов, вызывалась многократно и накопленная память освобождалась неоптимально.
Обновлены код автоподготовки и расширение pgpro_stats, чтобы исправить проблемы, которые могли возникнуть с нормализацией автоподготовленного запроса в pgpro_stats. Теперь для корректной нормализации запросов в процессе автоподготовки кешированный план сохраняется вместе с некоторой дополнительной информацией, которая передаётся pgpro_stats во время выполнения запроса.
Обновлена утилита pgpro_tune. Включены следующие усовершенствования:
Улучшен вывод утилиты, который теперь включает использованный пресет и отображает корректный формат даты и времени применения параметров конфигурации.
Обновлены пресеты для улучшения производительности Postgres Pro.
Исправлена проблема, из-за которой параметр конфигурации shared_buffers вычислялся некорректно при использовании initdb с включённым расширением pgpro_tune. Эта проблема могла приводить к замедлению работы команды.
Обновлён модуль pg_variables для поддержки Postgres Pro/ PostgreSQL 18.
Обновлён модуль rum. Улучшена производительность поиска по индексу RUM при помощи операторов индекса <=| и |=>, если для параметра хранения индекса order_by_attach задано значение true.
Удалена поддержка модуля pgpro_bindump.
Если вы производите обновление выпуска Postgres Pro Enterprise, базирующегося на той же основной версии PostgreSQL, достаточно просто установить новый выпуск в текущий каталог инсталляции.
Версия ABI может измениться в корректирующем выпуске Postgres Pro. В таком случае при попытке запустить расширение возникает ошибка ABI mismatch (Несоответствие ABI), поэтому обязательно установите новую версию расширения, поставляемую с новым выпуском Postgres Pro, или перекомпилируйте стороннее расширение, чтобы использовать его с текущей версией Postgres Pro.
При обновлении отказоустойчивого кластера с Postgres Pro Enterprise версии 14.12.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 14.10.1, права ролей с атрибутом CREATEROLE ограничены, и для изменения свойств других ролей требуется наличие права ADMIN OPTION.
Настоятельно не рекомендуется обновлять кластер с 32-битными идентификаторами транзакций на версии Postgres Pro Enterprise ниже 14.9.2 при наличии мультитранзакций в базе данных, поскольку это может вызвать повреждение данных.
При обновлении до версии Postgres Pro Enterprise 14.8.1 и выше обязательно обновите pg_probackup Enterprise до версии 2.6.4 или выше, поскольку более ранние версии pg_probackup несовместимы с этими версиями Postgres Pro Enterprise.
Для перехода с PostgreSQL, а также с выпуска Postgres Pro Standard или Postgres Pro Enterprise, базирующегося на предыдущей основной версии PostgreSQL, обратитесь к инструкциям по миграции на версию 14.