E.1. Postgres Pro Standard 16.13.1 #

Дата: 2026-03-11

E.1.1. Обзор #

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

  • Реализована возможность для оптимизатора добавлять узлы плана Index Only Scan ниже узлов Append, которые генерируются для предложений OR, если для параметра enable_appendorpath установлено значение on. Это позволяет создавать более эффективные планы запросов и улучшать производительность.

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

    • Изменён формат имени выходных файлов crash_info, в котором теперь указывается дата и время с точностью до микросекунд.

    • Исправлена ошибка, которая могла возникать при попытке записать текст запроса в выходные файлы crash_info.

  • Исправлена ошибка в механизме параллельного выполнения запросов с участием временных таблиц. Ранее на диск сбрасывались только страницы самой временной таблицы, без учёта связанных страниц (страниц индексов, TOAST-таблиц и т.д.). Теперь перед выполнением плана или подплана в параллельном режиме сбрасываются страницы всех временных отношений. Может быть полезно для 1C.

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

  • Исправлена ошибка, которая приводила к сбою daterange_inclusive при обработке пустых диапазонов.

  • Прекращена поддержка AlterOS 7.5, Debian 10, Ubuntu 25.04, Альт 9 и SLES 12.

  • Добавлено расширение pgpro_anonymizer, позволяющее маскировать или заменять конфиденциальные коммерческие данные или информацию, по которой можно установить личность, в базе данных Postgres Pro. Ранее оно было доступно только в составе Postgres Pro Enterprise.

  • Добавлена утилита pgpro_datactl, включающая команду estimate для оценки коэффициентов сжатия различными алгоритмами.

  • Добавлена утилита pgpro_scout для обнаружения чувствительной (конфиденциальной) информации в базе данных. Задача утилиты провести разведку данных на предмет наличия такой информации и привести примеры.

  • Устранена утечка памяти в aqo во время восстановления данных на физических репликах.

  • Устранена утечка памяти в расширении auto_dump.

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

    • Исправлены сбои резервного копирования, вызванные ошибочным включением нежурналируемых таблиц и временных табличных пространств. Ранее, если такие файлы удалялись в процессе создания резервной копии, pg_probackup3 считал их потерянными и прерывал операцию.

    • Исправлено некорректное определение редакции Postgres Pro в режиме источника данных PRO для Shardman.

  • pgbouncer обновлён до версии 1.25.1 для всех ОС, кроме Альт СП 8, для которой продолжает поставляться pgbouncer 1.24.0.

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

    • Добавлен параметр конфигурации pg_proaudit.log_rows, который включает или отключает регистрацию количества строк, затронутых SQL-командой.

    • Добавлено новое поле в журнал событий: продолжительность подключения. Теперь записи о событиях DISCONNECT содержат общую длительность подключения наряду с другими параметрами подключения.

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

    • Добавлены контроль целостности и проверка параметра recovery-target-name в архиве WAL при выполнении восстановления. Теперь предотвращаются ситуации, когда кластер Postgres Pro не может запуститься из-за недостижимости целевой точки восстановления. Если именованная точка восстановления была создана до последней резервной копии, процесс восстановления теперь корректно проверяет её существование.

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

    • Реализована совместимость с расширением pgpro_cpumeter. Файл pgpro_cpumeter.stat теперь добавляется в список исключений при выполнении резервного копирования.

    • Устранена проблема, из-за которой флаг --skip-block-validation игнорировался при выполнении резервного копирования. Ранее это приводило к ошибке, если в кластере содержались страницы с некорректными контрольными суммами в заголовках. Это критически важно при включении контрольных сумм в старых кластерах, где уже могут существовать проблемы с контрольными суммами. Кроме того, теперь при использовании --skip-block-validation выводится предупреждение.

    • Улучшен механизм передачи статуса резервного копирования. Статус резервной копии теперь меняется на DONE до этапа проверки. Метаданные резервной копии записываются дважды: до проверки и по завершении резервного копирования. Команда show теперь отображает более точный статус резервной копии во время длительных проверок.

    • Устранена проблема, которая могла приводить к аварийному завершению работы, если файл backup_content.control был удалён перед выполнением резервного копирования в режиме DELTA.

  • Утилита pgpro_controldata обновлена до версии 18.2.0.

  • Обновлено расширение pgpro_cpumeter, чтобы удалить предупреждение, возникавшее при пустом значении machine_id.

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

    • Восстановлена возможность агрегирования статистики по сеансам, которая ранее была удалена как неиспользуемая. Будет ли агрегироваться статистика по сеансам, определяет параметр конфигурации pgpro_stats.track_sessions.

    • Улучшено поведение функций трассировки сеансов. Теперь функции pgpro_stats_trace_insert и pgpro_stats_trace_update завершаются ошибкой, если в передаваемой последовательности пар ключ-значение какой-либо атрибут фильтра встречается несколько раз. Если функции pgpro_stats_trace_update передаётся неправильный аргумент, изменения фильтра более не происходят. Функция pgpro_stats_trace_show теперь возвращает в точности те значения атрибутов explain*, которые были заданы для фильтра.

    • Добавлено исправление, благодаря которому удаётся избежать сбоя, если две или более константы имеют одно и то же расположение в тексте SQL-оператора.

  • Обновлена утилита pgpro_tune. Включены следующие изменения:

    • В конфигурацию пресета pgpro_tune default.tune добавлены параметры autovacuum_vacuum_scale_factor и autovacuum_vacuum_insert_scale_factor.

    • Исправлена ошибка, из-за которой утилита pgpro_tune не обрабатывала имена пресетов с пробелами при указании пресета в переменной окружения initdb PGPRO_TUNE. Теперь при ошибке pgpro_tune команда initdb также выводит ошибку.

    • Исправлен пресет default.tune, который теперь корректно отображает порядок значений параметров effective_io_concurrency и random_page_cost в зависимости от типа накопителя.

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

    • Добавлены функции, которые позволяют исследовать все типы страниц индекса RUM на низком уровне.

    • Исправлена ошибка, из-за которой при сканировании составных индексов RUM возвращались некорректные результаты. Ошибка возникала, когда при создании индекса для одного из столбцов для параметра order_by_attach задавалось значение true, а запрос включал условия по нескольким столбцам индекса, включая столбец с order_by_attach.

E.1.2. Миграция на версию 16.13.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.