E.1. Postgres Pro Standard 17.4.1 #
Дата выпуска: 2025-03-03
E.1.1. Обзор #
Этот выпуск основан на PostgreSQL 17.4 и Postgres Pro Standard 17.2.1. Все усовершенствования, унаследованные от PostgreSQL 17.4, перечислены в Замечаниях к выпуску PostgreSQL 17.4. Другие важные изменения и улучшения перечислены ниже:
В выходные файлы
crash_info
добавлены новые сведения, например текущий рабочий каталог, каталогPGDATA
и т. д.Добавлены повышенные требования безопасности для команды CREATE PROFILE. Теперь при использовании параметра
PASSWORD_REQUIRE_COMPLEX
пароли должны содержать символы из трёх разных групп. Также все буквы или их аналоги в языках без разделения на регистры (хинди, китайский и т.п.) в кодировке UTF-8 считаются строчными буквами.Устранена проблема, из-за которой при включённом параметре
crash_info
могли не записываться диагностические файлы во время обработки переполнения стека. Ранее обработчик сигналов запускался на стеке с переполнением, что могло помешать его запуску из-за нехватки памяти. Теперь обработчик использует альтернативный стек.Устранена проблема при пользовательском сканировании, которая могла приводить к некорректному состоянию плана запроса и возникновению ошибки при использовании pgpro_stats.
Устранена проблема, из-за которой роли без явно заданного атрибута
VALID UNTIL
и связанные с профилем, у которого для PASSWORD_GRACE_TIME установлено значение 0, а дляPASSWORD_LIFE_TIME
—UNLIMITED
, некорректно получали предупреждения об истечении срока действия пароля. Теперь пароли корректно считаются действительными бесконечно.Обновлён модуль aqo. Реализован режим
auto
, который работает как режимlearn
, но предотвращает переполнение памяти, реализуя механизм вытеснения из кеша давно неиспользуемых (LRU, least recently used) данных.Оптимизирован модуль fasttrun для пропуска ненужных операций усечения пустых временных отношений.
Приложение mamonsu обновлено до версии 3.5.11, в которую включена поддержка pgpro_stats версии 1.8.
Приложение pgbadger обновлено до версии 13.0.
pgbouncer обновлён до версии 1.24.0.
Расширение pg_portal_modify обновлено до версии 0.3.5.
Обновлено расширение pg_proaudit. Включены следующие исправления и усовершенствования:
Добавлено новое поле событий: имя пользователя сеанса. Теперь события содержат информацию об атрибутах
session_user
иcurrent_user
SQL-сеанса.Добавлена поддержка новых классов событий:
ALL_DDL_NONTEMP
иALL_DML_NONTEMP
. Область действия этих классов ограничена объектами, не находящимися во временных схемахpg_temp_
.nnn
Исправлено внесение в журнал событий
SELECT FOR UPDATE
иSELECT FOR KEY SHARE
: теперь они корректно указываются как командыSELECT
, а неUPDATE
.
Приложение pg_probackup обновлено до версии 2.8.7, в которой улучшена производительность и исправлены некоторые ошибки:
Устранена проблема с механизмом многопоточного копирования файлов, предотвращающим многократное копирование одного файла. Ранее из-за этой проблемы могла не создаваться резервная копия при высокой нагрузке на сервер.
Уровень записи в журнал сообщений вида «checking WAL file name» (проверка имени файла WAL), выдающихся при выполнении команды
show
с параметром--archive
, понижен сINFO
доVERBOSE
.Изменена логика команды
add-instance
: теперь обязательно использовать параметр-D
, указывающий путь к каталогу. Командаadd-instance
больше не использует переменную средыPGDATA
как расположение каталога, а требует явного указания пути к каталогу в параметре команды.
Модуль pgpro_pwr обновлён до версии 4.8, в которой добавлены новые возможности и исправлены некоторые ошибки. Основные изменения перечислены ниже:
Добавлено отслеживание версий расширений, установленных в кластере, в новом разделе отчёта.
Добавлена возможность скрыть данные для определённых баз данных в отчёте. Для этого в функции формирования отчёта добавлен новый параметр, принимающий массив исключаемых баз данных.
Расширение pgpro_stats обновлено до версии 1.8.1, в которую включены следующие усовершенствования и исправления:
Устранена проблема, которая могла возникнуть во время трассировки сеанса и вызвать ошибки «could not write file ""pg_stat/pgpro_stats_filters.trace.tmp"": No such file or directory» (не удалось записать файл ""pg_stat/pgpro_stats_filters.trace.tmp"": Такого файла или каталога не существует). Параллельная запись из разных сеансов в файл трассировки теперь работает корректно, и процессы могут выполнять запись в файл трассировки параллельно без конфликтов.
Изменён формат файла выгрузки статистики и соответствующие процедуры сохранения/загрузки.
Реализована оптимизация, которая в некоторых случаях снижает время блокировки при копировании метрик из локальной памяти в общую.
Имена атрибутов фильтра
explain_*
трассировщика сеансов приведены в соответствие с именами параметров конфигурации трассировки сеансов.Реализовано отключение функциональности трассировки сеансов, если не указаны соответствующие фильтры.
Обновлён модуль pg_variables. Команда
DISCARD ALL
теперь очищает все пакеты и переменные в pg_variables.Обновлён модуль rum: изменено сообщение об ошибках, возникающих в случаях, когда в запросе
SELECT
используетсяORDER BY
.
E.1.2. Миграция на версию 17.4.1 #
Если вы производите обновление выпуска Postgres Pro Standard, базирующегося на той же основной версии PostgreSQL, достаточно просто установить новый выпуск в текущий каталог инсталляции.
Версия ABI может измениться в корректирующем выпуске Postgres Pro. В таком случае при попытке запустить расширение возникает ошибка ABI mismatch
(Несоответствие ABI), поэтому обязательно установите новую версию расширения, поставляемую с новым выпуском Postgres Pro, или перекомпилируйте стороннее расширение, чтобы использовать его с текущей версией Postgres Pro.
Для перехода с PostgreSQL или выпуска Postgres Pro Standard, базирующегося на предыдущей основной версии PostgreSQL, обратитесь к инструкциям в Замечаниях к выпуску Postgres Pro Standard 17.0.1.