E.1. Postgres Pro Standard 17.9.1 #
Дата: 2026-03-12
E.1.1. Обзор #
Этот выпуск основан на PostgreSQL 17.9 и Postgres Pro Standard 17.7.1. Все усовершенствования, унаследованные от PostgreSQL 17.9, перечислены в Замечаниях к выпуску PostgreSQL 17.9. Другие важные изменения и улучшения перечислены ниже:
Реализована поддержка решения Встроенная отказоустойчивость (BiHA) (Built-in High Availability, встроенная отказоустойчивость), которое предоставляет функциональность для развёртывания и управления кластером с физической репликацией и встроенными возможностями аварийного переключения узлов, отказоустойчивости и автоматического восстановления узлов. Решение BiHA управляется утилитой bihactl и расширением biha. Ранее решение BiHA было доступно только для Postgres Pro Enterprise 16 и выше. Решение BiHA для Postgres Pro Standard предоставляет полную функциональность, включая каскадную репликацию и экспериментальную многоуровневую географическую распределённость и катастрофоустойчивость.
Обратите внимание, что решение BiHA для Postgres Pro Standard не поддерживается на архитектуре процессоров Эльбрус.
Реализована возможность для оптимизатора упрощать конструкции
NOT NOTвыражениедовыражениев связанных подзапросах, тем самым позволяя «подтягивать» эти подзапросы в основной план запроса и улучшать производительность.Реализована возможность для оптимизатора добавлять узлы плана
Index Only Scanниже узловAppend, которые генерируются для предложенийOR, если для параметра enable_appendorpath установлено значениеon. Это позволяет создавать более эффективные планы запросов и улучшать производительность.Добавлены следующие изменения в реализацию crash_info:
Изменён формат имени выходных файлов
crash_info, в котором теперь указывается дата и время с точностью до микросекунд.Исправлена ошибка, которая могла возникать при попытке записать текст запроса в выходные файлы
crash_info.
Исправлена ошибка в механизме параллельного выполнения запросов с участием временных таблиц. Ранее на диск сбрасывались только страницы самой временной таблицы, без учёта связанных страниц (страниц индексов, TOAST-таблиц и т.д.). Теперь перед выполнением плана или подплана в параллельном режиме сбрасываются страницы всех временных отношений. Может быть полезно для 1C.
Исправлена ошибка, которая могла возникать во время сбора статистики прерывания очистки для отношений и индексов, разделяемых всеми базами данных в кластере. Количество прерываний параллельной очистки теперь также учитывается в статистике.
Исправлена ошибка, которая приводила к сбою daterange_inclusive при обработке пустых диапазонов.
Добавлена поддержка SUSE Linux Enterprise Server (SLES) 16.
Прекращена поддержка ОС Ubuntu 25.04.
Добавлено расширение pgpro_anonymizer, позволяющее маскировать или заменять конфиденциальные коммерческие данные или информацию, по которой можно установить личность, в базе данных Postgres Pro. Ранее оно было доступно только в составе Postgres Pro Enterprise.
Добавлена утилита pgpro_datactl, включающая команду
estimateдля оценки коэффициентов сжатия различными алгоритмами.Добавлена утилита pgpro_scout для обнаружения чувствительной (конфиденциальной) информации в базе данных. Задача утилиты провести разведку данных на предмет наличия такой информации и привести примеры.
Устранена утечка памяти в расширении auto_dump.
Обновлён модуль aqo. Включены следующие исправления и усовершенствования:
Оптимизирован механизм обучения aqo. Теперь aqo игнорирует узлы плана, которые не влияют на оценку количества строк, например узлы
MaterializedиSort. Эти игнорируемые узлы больше не пишут детали aqo в вывод командыEXPLAINи не добавляются в статистику aqo.Устранена утечка памяти во время восстановления данных на физических репликах.
Устранена проблема, из-за которой модуль aqo не обучался на узлах плана
Group.Устранена проблема, из-за которой модуль aqo не различал подзапросы друг от друга, что приводило к некорректному вычислению статистики обучения для родительских узлов плана.
Обновлён модуль 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. Миграция на версию 17.9.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.
Для перехода с PostgreSQL или выпуска Postgres Pro Standard, базирующегося на предыдущей основной версии PostgreSQL, обратитесь к инструкциям в Замечаниях к выпуску Postgres Pro Standard 17.0.1.