Дата выпуска: 2025-11-17
Этот выпуск основан на PostgrePro Enterprise 17.6 и Postgres Pro Shardman 17.5.1, в нём добавлены новые возможности и улучшена производительность. Важные изменения перечислены ниже.
Добавлена оптимизация выбора быстрого пути для работы с данными, расположенными в одной секции. Добавлена поддержка команд SELECT,UPDATE, DELETE и подготовленных операторов в Silk. Оптимизацию нельзя использовать, если значение параметра конфигурации extra_float_digits меньше 0. Значение по умолчанию — off.
Добавлена функция public.list_always_shippable() для postgres_fdw, которая выводит список проталкиваемых процедур.
Добавлена поддержка чтения метаданных Postgres Pro Shardman в pgpro_controldata.
Добавлено отображение статистики по размеру компонентов отправленных с узла сообщений MT_SPI (в байтах) через представление shardman.pg_stat_silk_msg_components.
Добавлено ограничение, при котором локальные таблицы теперь не могут наследовать глобальные таблицы.
Добавлена возможность применять политику защиты на уровне строк (RLS) для глобальных и сегментированных таблиц.
Добавлена поддержка расширенных парольных политик и глобальных профилей с помощью параметров конфигурации shardman.extended_password_policies и shardman.extended_password_policies_skip_users. Они задают системных пользователей, для которых не происходит обмена информацией по событиям авторизации между узлами кластера Postgres Pro Shardman, а также которых нельзя блокировать. Однако они могут авторизовываться на резервном сервере Postgres Pro Shardman.
Добавлена поддержка разрешения нескольких адресов при конфигурировании стороннего сервера для работы Silk.
Добавлена поддержка двух режимов READ COMMITTED с поддержкой снимков CSN верхнеуровневых операторов или без неё. Эти режимы позволяют избежать грязных чтений, а управление режимами реализовано при помощи параметра конфигурации enable_csn_snapshot_for_read_committed.
Ограничена возможность редактирования параметра конфигурации shardman.sync_schema, теперь это могут делать только суперпользователи.
Обеспечена поддержка SSL для Silk.
Обновлено семейство функций shardman.try_advisory_xact_lock*(), теперь они возвращают значение false в случаях, когда раньше выдавали ошибку.
Обновлён процесс создания сегмента, теперь база данных postgres создаётся на узле-рефери автоматически.
Обновлена поддерживаемая версия pgpro_pwr до 4.0.
Обновлена поддерживаемая версия amcheck до 1.4.
Обновлена поддерживаемая версия aqo до 3.1.
Поддерживаемая версия dblink обновлена до версии 1.2.
Обновлена поддерживаемая версия pg_proaudit до 2.0.
Обновлена поддерживаемая версия pg_query_state до 1.2.
Обновлена поддерживаемая версия pgpro_stats до 1.9-sdm4.
Обновлена поддерживаемая версия pg_filedump до 18.0.
Обновлена поддерживаемая версия pgpro_controldata до 18.1.
Обновлена поддерживаемая версия postgres_fdw до 1.4.
Обновлена поддерживаемая версия ptrack до 2.5.
Добавлена поддержка защищённого режима управляющего канала biha.
Добавлена возможность перезапуска кластера с минимальным временем простоя с помощью команды shardmanctl restart rolling.
Добавлен механизм shardmand, позволяющий выводить список запущенных в системе служб.
Добавлены новые параметры конфигурации для работы с точками синхронизации: syncpointInterval, который задаёт частоту создания точки синхронизации (в секундах), syncpointEnabled, который включает monitor для периодического создания точек синхронизации, и syncpointLimit, который задаёт число последних хранимых точек синхронизации.
Добавлена возможность выполнять команды вне блока транзакции с помощью параметра --no-transaction команды shardmanctl forall.
Добавлена возможность просмотра информации о сегментированных и глобальных таблицах с помощью конечной точки /shardmand/v1/tables в shardmand.
Добавлена возможность запуска кластера с аутентификацией по SSL-сертификатам.
Добавлена возможность работы детектора взаимоблокировок и monitor для зависших транзакций из-под операционного пользователя.
Добавлена возможность определения переменной, которая используется в пользовательском скрипте, с помощью параметра shardmanctl bench run -D.
Изменён алгоритм обновления конфигурации BiHA. Теперь узел-последователь и рефери ждут обновления конфигурации на лидере и только потом обновляют её у себя. Это позволяет снизить значение параметра max_wal_senders.
Отменено цветовое оформление уровня журналирования при выполнении команды shardmanctl.
Гарантирована согласованность данных при формировании списка пользователей.
Улучшена информативность вывода команды shardmanctl config update в случае ошибки.
Снято ограничение, при котором нельзя было создавать глобальные и сегментированные таблицы во время резервного копирования.
Снято ограничение на снижение чувствительных параметров спецификации: max_connections, max_prepared_transactions и max_worker_processes. Ранее это приводило к проблемам при откате конфигурации.
Добавлена проверка целостности, которую теперь можно запустить после каждого изменения конфигурации, если для параметра certVersion задано значение true.
Изменено поведение keeper, теперь соединения удерживаются вместо закрытия.
Обновлены механизмы проверки согласованности и пользовательских схем.
Обновлена команда shardmanctl config update, которая теперь может изменять параметр certVersion.
Обновлены права роли администратора, который теперь может изменять параметр shardman.sync_schema.
Обновлена версия клиента etcd до 3.6.4.
Исправлена логика «умного» восстановления схемы shardman: теперь команда shardmanctl schema restore --smart корректно проверяет и восстанавливает все недостающие расширения PostgreSQL.
Изменено поведение системы при запуске команды shardmanctl probackup backup. При создании резервной копии добавлено ожидание готовности лидеров и резервов во избежание перехода лидеров в состояние RO при работе команды.
Исправлена ошибка уровня PANIC при работе команды shardmanctl set.
Исправлена ошибка, которая ранее приводила к сбою режима referee_with_wal при запуске кластера Postgres Pro Shardman с табличными пространствами.
Исправлены уязвимости BDU:2025-02344 и GHSA-fv92-fjc5-jj9h.
Исправлена уязвимость GO-2025-3770.
Исправлена ошибка, которая в редких случаях ранее приводила к сбою команды shardmanctl status.
Исправлена ошибка, которая в редких случаях ранее приводила к сбою при добавлении новых узлов, если в схеме shardman были глобальные таблицы с данными.
Исправлено поведение, ранее приводившее к ошибке репликации, если совпадали пользовательские пароли для пользователей BiHA и postgres.
Исправлена ошибка, при которой было невозможно добавить новые узлы в кластер, если в схеме shardman были глобальные последовательности.
Устранён сбой рефери при изменении следующих параметров: max_connections, max_wal_senders shared_buffers, max_prepared_transactions и max_worker_processes.
Исправлена ошибка восстановления расширений, теперь восстанавливаются все расширения, а не только Postgres Pro Shardman.
Исправлена ошибка, из-за которой появлялось сообщение PANIC во время процесса перебалансировки.
Исправлена ошибка, которая могла привести к перезапуску экземпляра из-за кратковременной потери соединения с etcd.
Исправлено отображение индикаторов прогресса при восстановлении из резервной копии.
Исправлена ошибка, которая ранее приводила к зависанию процесса восстановления одного сегмента.
Исправлена ошибка запуска системы при включённом svt5.