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_senders shared_buffers, max_prepared_transactions и max_worker_processes.

  • Исправлена ошибка восстановления расширений, теперь восстанавливаются все расширения, а не только Postgres Pro Shardman.

  • Исправлена ошибка, из-за которой появлялось сообщение PANIC во время процесса перебалансировки.

  • Исправлена ошибка, которая могла привести к перезапуску экземпляра из-за кратковременной потери соединения с etcd.

  • Исправлено отображение индикаторов прогресса при восстановлении из резервной копии.

  • Исправлена ошибка, которая ранее приводила к зависанию процесса восстановления одного сегмента.

  • Исправлена ошибка запуска системы при включённом svt5.