Postgres Professional выпускает Postgres ProGate 1.4.0 — очередное обновление платформы миграции и репликации данных. Главное новшество версии — поддержка AXE с загрузкой в S3, открывающая новые сценарии для аналитических хранилищ. Также в релизе — повышение производительности утилит, укрепление безопасности и переработка механизма интроспекции схем данных.

ProGate — решение для бесшовного переноса данных между различными СУБД (Oracle, PostgreSQL, Postgres Pro, Shardman), состоящее из трёх ключевых компонентов: procopy (высокоскоростная первичная загрузка), prosync (CDC-репликация изменений) и procheck (проверка консистентности).
Управление параллелизмом в procopy
Утилита procopy получила более гибкий контроль над параллельной обработкой задач:
-
добавлен параметр sub_task_count, определяющий, на сколько подзадач может разбиваться исходная задача копирования;
-
расчёт размера подзадач теперь выполняется автоматически, а параметр sub_task_rowsпереведён в статус deprecated;
-
появился флаг force_restart_task, позволяющий перезапускать задачи без очистки данных и без изменения идентификатора задачи — удобно для выполнения регулярных задач переноса данных (например, снапшотов т-1).
В procopy добавлена поддержка AXE в качестве приёмника данных с загрузкой в S3-совместимое хранилище. Это расширяет сценарии использования платформы для построения аналитических хранилищ.
Отключение проверок ограничений при загрузке
В procopy и prosync добавлен параметр disable_constraint_checks. Он позволяет отключать проверку ограничений (constraints) и пользовательских триггеров на время записи батча в целевую PostgreSQL-based БД, что ускоряет загрузку данных в сценариях, где целостность гарантируется на уровне источника или последующей верификации.
Улучшения prosync
CDC-репликация в prosync стала надёжнее и производительнее:
-
добавлена опция single_loader в секцию table — позволяет для конкретной таблицы принудительно использовать один загрузчик, даже если глобально задано несколько загрузчиков (prosync_options.loaders > 1). Это обеспечивает последовательную обработку изменений для таблиц, связанных внешними ключами или другими зависимостями;
-
исправлена ошибка, из-за которой prosync не мог считывать записи с большими значениями SCN из онлайн-журналов Oracle;
-
устранено удержание WAL-файлов для источников PostgreSQL при редких изменениях в таблицах задачи за счёт улучшения механизма продвижения слотов логической репликации;
-
повышена производительность применения изменений (INSERT/UPDATE) для Oracle.
Переработанная интроспекция схем данных
Одно из наиболее значимых изменений релиза — переработка механизма интроспекции:
-
реализована асинхронная обработка, что заметно ускоряет интроспекцию схем с большим количеством таблиц;
-
добавлена поддержка проверки привилегий доступа к схемам и таблицам;
-
реализованы проверки совместимости подключений для prosync, включая проверку прав на чтение таблиц — результаты доступны через API;
-
улучшено автоматическое сопоставление схем и таблиц для задач трансфера на основе совпадения имён.
Улучшение безопасности
Добавлено новое событие безопасности: фиксация блокировки учётной записи пользователя при превышении лимита неудачных попыток ввода пароля (PROGATE_PASSWORD_POLICY_MAX_FAILED_ATTEMPTS).
Все компоненты системы переведены на версию Go 1.26.5, Apache Thrift обновлён до версии v0.23.0 с устранением ранее обнаруженных уязвимостей.
Обновление Postgres ProGate 1.4.0 уже доступно для установки. Подробная документация по переходу и описание всех изменений представлены по ссылке:
https://postgrespro.ru/docs/progate/current
Источник: habr.com