Релиз ProGate 1.3.0: поддержка Shardman, отказоустойчивость и улучшения безопасности
Postgres Professional представляет обновление платформы миграции и репликации данных — Postgres ProGate 1.3.0. Ключевые темы релиза: полноценная поддержка Postgres Pro Shardman в качестве приёмника с маршрутизацией по шардам, режим высокой доступности для prosync и комплекс улучшений безопасности.
В релизе 1.3.0 появилась полноценная поддержка Postgres Pro Shardman как целевой СУБД — теперь она доступна как для разового переноса данных с помощью утилиты procopy, так и для непрерывной репликации через prosync.
Ключевое нововведение — маршрутизация строк по шардам: данные из таблицы-источника можно распределять между конкретными сегментами Shardman-кластера с помощью условий фильтрации, задаваемых в параметре dst_shard_filter_mapping. Например, строки можно разбить по остатку от деления числового поля на количество шардов (mod(ID, 2) = 0), направив каждую группу в соответствующий сегмент. Это позволяет гибко управлять распределением нагрузки уже на этапе миграции.
При работе с Shardman-источником prosync автоматически создаёт отдельные слоты репликации для глобальных таблиц и для шардированных/локальных таблиц в каждом сегменте, обеспечивая корректное разграничение потоков данных.
prosync — утилита для CDC-репликации (Change Data Capture) — получила поддержку отказоустойчивого режима запуска. В нём несколько экземпляров prosync с одинаковой конфигурацией образуют кластер: один узел выполняет роль лидера, остальные находятся в резерве.
Механика отказоустойчивости:
хартбиты — лидер каждые 5 секунд обновляет метку leader_last_heartbeat в служебной БД;
детектирование отказа — резервный узел следит за таблицей prosync_ha_cluster_transfer_locks. Если лидер не обновлял хартбит дольше допустимого порога (heartbeat_period ×
Читать на habr.com