E.1. Postgres Pro Shardman 17.6.1 #
Дата выпуска: 2025-11-17
Этот выпуск основан на PostgrePro Enterprise 17.6 и Postgres Pro Shardman 17.5.1, в нём добавлены новые возможности и улучшена производительность. Важные изменения перечислены ниже.
E.1.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.
E.1.2. Утилиты управления #
Добавлена поддержка защищённого режима управляющего канала 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_sendersshared_buffers,max_prepared_transactionsиmax_worker_processes.Исправлена ошибка восстановления расширений, теперь восстанавливаются все расширения, а не только Postgres Pro Shardman.
Исправлена ошибка, из-за которой появлялось сообщение
PANICво время процесса перебалансировки.Исправлена ошибка, которая могла привести к перезапуску экземпляра из-за кратковременной потери соединения с etcd.
Исправлено отображение индикаторов прогресса при восстановлении из резервной копии.
Исправлена ошибка, которая ранее приводила к зависанию процесса восстановления одного сегмента.
Исправлена ошибка запуска системы при включённом
svt5.