Дата: 2026-06-08
Этот выпуск основан на PostgreSQL 15.18 и Postgres Pro Enterprise 15.17.1. Все изменения, унаследованные от PostgreSQL 15.18, описаны в Замечаниях к выпуску PostgreSQL 15.18. По сравнению с Postgres Pro Enterprise 15.17.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.
Исправлена ошибка с оценкой количества строк соединения, когда для параметра enable_compound_index_stats установлено значение on.
Исправлены ложно положительные срабатывания проверки, включаемой параметром wal_consistency_checking.
Устранена утечка памяти, которая могла возникать во время обработки предложения EXCEPTION при выполнении автономной транзакции пользовательским кодом на PL/pgSQL.
Исправлена оценка памяти для хеш-соединений: теперь учитывается память, используемая пакетами. Ранее эта память не учитывалась в общем потреблении памяти. Кроме того, в хеш-соединениях добавлена балансировка размера хеш-таблицы в памяти в зависимости от количества пакетов, что предотвращает чрезмерное использование дискового пространства.
Исправлена ошибка, из-за которой в сеансе могла отключаться приоритизация ресурсов после возникновения любой ошибки при выполнении запроса.
Реализованы следующие исправления и усовершенствования для CFS:
Добавлена поддержка индексов и TOAST-таблиц при вычислении их уровня сжатия с помощью функции cfs_estimate.
Улучшены сообщения об ошибках для повреждённых блоков CFS. Теперь эти сообщения включают код выхода и сообщение об ошибке от соответствующей библиотеки сжатия.
Устранена проблема, которая при включённой CFS могла замедлить выполнение запроса DROP DATABASE. Причина заключалась в неправильной обработке системных прерываний, пока команда ожидала возможности взять блокировку файла cfs_gc_lock_file.
Удалена функциональность оптимизатора для добавления узлов плана Index Only Scan ниже узлов Append, которые генерируются для предложений OR, если для параметра enable_appendorpath установлено значение on. Эта функциональность могла приводить к некорректным планам выполнения запросов и полученным данным.
Добавлена утилита pgpro_validate для проверки целостности данных экземпляра Postgres Pro.
Обновлён модуль 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_bindump. Включены следующие улучшения и исправления:
Добавлена поддержка параметра --exclude-path для исключения определённых файлов или каталогов из резервного копирования в режиме PRO.
Оптимизирована производительность резервного копирования за счёт исключения временных файлов процесса postmaster.
Исправлено некорректное имя пакета в сообщении об ошибке, возникавшей при неудачной загрузке библиотеки libpb3_encoder.so модулем pgpro_bindump. Теперь в сообщении корректно рекомендуется установить пакет libpb3-encoder вместо ошибочного libpgprobackup3.
Устранена проблема блокировки сборщика мусора (GC) CFS процессом резервного копирования, что могло приводить к блокировкам записи при длительном создании резервной копии. Теперь оба процесса блокируют только конкретные файлы данных на короткое время, избегая взаимной блокировки.
Утилита pgpro_datactl обновлена до версии 1.5 для исправления ошибки сжатия несжатых табличных пространств. Ранее сжатие не выполнялось, если размер какого-либо блока превышал значение параметра BLCKSZ.
Расширение pgpro_multiplan обновлено до версии 1.6. Включены следующие усовершенствования и исправления:
Реализована возможность восстановления разрешённых планов и планов с шаблонами из резервных копий планов. Для этого функция pgpro_multiplan_restore теперь принимает значения baseline и template для аргумента plan_type, а также содержит новый аргумент wildcards для планов с шаблонами. Также в эту функцию добавлены следующие аргументы: sample_string для указания запроса с константами и status для использования в будущем.
Реализована возможность добавлять планы в список разрешённых с помощью функций pgpro_multiplan_register_query и pgpro_multiplan_freeze. Последняя функция теперь может принимать значение baseline для аргумента plan_type.
Реализована возможность для pgpro_multiplan автоматически регистрировать выполняемые подготовленные операторы, когда для параметра pgpro_multiplan.auto_tracking установлено значение on.
Добавлены новые функции pgpro_multiplan_enable, pgpro_multiplan_enable_baseline и pgpro_multiplan_enable_template, которые позволяют включать и отключать определённые существующие планы.
Переименованы следующие функции:
pgpro_multiplan_hintset_update в pgpro_multiplan_update_hintset
pgpro_multiplan_template_hintset_update в pgpro_multiplan_update_template_hintset
pgpro_multiplan_baseline_cost_update в pgpro_multiplan_update_baseline_cost
Удалены поля constants и prep_consts из представления pgpro_multiplan_captured_queries. Эти поля были избыточными, поскольку константы запроса содержатся в значении поля sample_string.
Исправлена ошибка, которая могла приводить к сбою проверочных утверждений при попытке повторно заморозить один и тот же план.
Исправлена ошибка, которая могла приводить к сбою проверочных утверждений при попытке зарегистрировать запрос с правилом DO NOTHING.
Исправлена ошибка, которая могла приводить к сбою проверочных утверждений при использовании функции pgpro_multiplan_register_query с некорректными необязательными аргументами, задающими типы параметров запроса.
Исправлена ошибка сегментации, которая могла возникать при попытке зарегистрировать запрос с общим табличным выражением (CTE) или INSERT ... SELECT.
Исправлена ошибка, из-за которой значения sample_string для базовых планов сохранялись с параметрами вместо констант, что могло вызывать ошибки при управлении этими планами, в частности, при обновлении их стоимости с помощью функции pgpro_multiplan_update_baseline_cost.
Исправлена ошибка, из-за которой базовые планы не сохраняли значения параметров конфигурации, отличные от значений по умолчанию, что могло приводить к созданию запросами планов, отличных от зафиксированных, в другом окружении.
Исправлена ошибка с некорректной проверкой значения table_hash для планов с шаблонами, что могло приводить к применению этих планов для неподходящих запросов.
Модуль 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.
Если вы производите обновление выпуска Postgres Pro Enterprise, базирующегося на той же основной версии PostgreSQL, достаточно просто установить новый выпуск в текущий каталог инсталляции.
Версия ABI может измениться в корректирующем выпуске Postgres Pro. В таком случае при попытке запустить расширение возникает ошибка ABI mismatch (Несоответствие ABI), поэтому обязательно установите новую версию расширения, поставляемую с новым выпуском Postgres Pro, или перекомпилируйте стороннее расширение, чтобы использовать его с текущей версией Postgres Pro.
Если вы создаёте резервные копии с помощью pg_probackup и ранее обновили его до версии 2.8.0 Enterprise или 2.8.1 Enterprise, обязательно обновите его до версии 2.8.2 Enterprise или выше и сделайте полную резервную копию базы данных после обновления, поскольку резервные копии, созданные с использованием этих версий, могут быть повреждены. Чтобы проверить, повреждены ли резервные копии, созданные с помощью версий 2.8.0 или 2.8.1, можно использовать версию 2.8.2.
Начиная с Postgres Pro Enterprise 15.5.1, права ролей с атрибутом CREATEROLE ограничены, и для изменения свойств других ролей требуется наличие права ADMIN OPTION.
Настоятельно не рекомендуется обновлять кластер с 32-битными идентификаторами транзакций на версии Postgres Pro Enterprise ниже 15.4.2 при наличии мультитранзакций в базе данных, поскольку это может вызвать повреждение данных.
При обновлении до версии Postgres Pro Enterprise 15.3.1 и выше обязательно обновите pg_probackup Enterprise до версии 2.6.4 или выше, поскольку более ранние версии pg_probackup несовместимы с этими версиями Postgres Pro Enterprise.
Для перехода с PostgreSQL, а также с выпуска Postgres Pro Standard или Postgres Pro Enterprise, базирующегося на предыдущей основной версии PostgreSQL, обратитесь к инструкциям по миграции на версию 15.