E.1. Postgres Pro Standard 16.10.1 #
Дата выпуска: 2025-09-16
E.1.1. Обзор #
Этот выпуск основан на PostgreSQL 16.10 и Postgres Pro Standard 16.9.1. Все усовершенствования, унаследованные от PostgreSQL 16.10, перечислены в Замечаниях к выпуску PostgreSQL 16.10. Другие важные изменения и улучшения перечислены ниже:
- Улучшена производительность за счёт замены циклических блокировок, ранее используемых для общей очереди сообщений аннулирования, более эффективным примитивом синхронизации. Это позволило устранить узкое место в производительности. Может быть полезно для 1C. 
- Обновлены CREATE DATABASE, createdb и initdb. Теперь если значение lc_collate по умолчанию используется для - icu_localeили- --icu-locale, выводится информационное сообщение.
- Оптимизировано поведение при работе с функцией - 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/24.10. 
- Добавлено расширение wal2json для логического декодирования, которое преобразует изменения базы данных из журнала предзаписи (WAL) в формат JSON. 
- Обновлён модуль aqo. Включены следующие исправления: - В представление aqo_data добавлено поле - tmpoids, а в функцию- aqo_data_update— параметр- tmpoidsдля поддержки запросов, которые используют временные таблицы вместе с постоянными таблицами.
- Устранено условие гонки при вызове функции - aqo_cleanupиз разных сеансов.
- Устранена проблема, из-за которой данные обучения aqo не сохранялись для запросов с материализацией. 
- Исправлена проблема, из-за которой на резервном сервере мог возникать сбой с сигналом SIGABRT, если версия aqo на таком сервере отличалась от версии модуля на ведущем. 
 
- Модуль auto_explain обновлён. В выводе время планирования запроса вынесено в отдельную строку под деревом планировщика, как это сделано в выводе - EXPLAIN. Ранее pgbadger не мог распознать информацию о запросе и поэтому не включал её в отчёт.
- Расширение pg_pathman обновлено. Устранена проблема с доступом к секциям, которая могла приводить к тому, что команды, повторно использующие один и тот же план запроса, например, в PL/pgSQL, завершались с ошибками, такими как «relation with OID - NNNNdoes not exist» (отношение с OID- NNNNне существует).
- Обновлено расширение 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. Включены следующие усовершенствования и исправления: - Реализована возможность отслеживать команды утилиты по - query_id, как в pg_stat_statements. Ранее команды утилиты отслеживались путём строгого сравнения по текстовым строкам запросов и поэтому не могли быть нормализованы корректно.
- Исправлена ошибка сегментации, которая могла возникать при определении дополнительных метрик. Ошибка была вызвана проблемой при выделении памяти. 
 
- Устранена проблема, из-за которой при использовании пресета - 1c.tuneутилиты pgpro_tune задавались неверные значения параметров конфигурации.
- Модуль pg_query_state обновлён до версии 1.2, в которую добавлены функции pg_progress_bar и pg_progress_bar_visual, позволяющие отслеживать текущий прогресс выполнения запросов. 
- Обновлён модуль rum. Включены следующие исправления: - Исправлена ошибка сегментации, вызванная некорректным обращением к памяти, когда указатель на следующую страницу индекса использовался после того, как предыдущая страница была изменена другим потоком. 
- Устранён бесконечный цикл сканирования индекса при использовании нескольких предложений - ORDER BY.
 
E.1.2. Миграция на версию 16.10.1 #
Если вы производите обновление выпуска Postgres Pro Standard, базирующегося на той же основной версии PostgreSQL, достаточно просто установить новый выпуск в текущий каталог инсталляции.
Важно
Если вы использовали предыдущую версию aqo и её потребовалось обновить, версия aqo на резервном сервере может отличаться от версии модуля на ведущем.
Чтобы избежать связанных с этим проблем, отключите aqo, задав для параметров aqo.enable и aqo.wal_rw значение off сначала на ведущем сервере, а потом на резервных серверах. После успешного обновления включите aqo, задав для параметров aqo.wal_rw и aqo.enable значение on сначала на резервных серверах, а потом на ведущем сервере.
Версия 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.
Для перехода с PostgreSQL или выпуска Postgres Pro Standard, базирующегося на предыдущей основной версии PostgreSQL, обратитесь к инструкциям в Замечаниях к выпуску Postgres Pro Standard 16.0.1.