Postgres ProGate 1.5.0: поддержка Postgres Pro AXE 2.0, серверное сопоставление таблиц и расширенные сценарии репликации

Postgres Professional выпускает Postgres ProGate 1.5.0 — обновление решения для миграции и репликации данных. Главными новшествами версии стали поддержка аналитической СУБД Postgres Pro AXE 2.0, перенос табличного маппинга на сторону сервера, пятикратное ускорение подготовки трансферов и существенное расширение сценариев работы с Oracle и PostgreSQL.

ProGate — решение для бесшовного гетерогенного переноса данных между различными СУБД (Oracle, PostgreSQL, Postgres Pro, Shardman, AXE), состоящее из трёх ключевых компонентов: procopy (высокоскоростная первичная загрузка), prosync (CDC-репликация изменений) и procheck (верификация консистентности данных). Управление всеми компонентами доступно через CLI и веб-интерфейс.

Новые возможности procopy

Утилита первичной загрузки данных получила поддержку новых целевых систем и более гибкое управление отказоустойчивостью:

  • добавлена поддержка СУБД Oracle в качестве приёмника данных в procopy, теперь Oracle можно использовать целевой системой не только при репликации изменений в prosync, но и при первичной загрузке (включая символьные, числовые, временные типы, а также BLOB, CLOB, NCLOB, LONG и LONG RAW);

  • реализована поддержка аналитической СУБД Postgres Pro AXE 2.0 в качестве приёмника;

  • добавлен параметр --stop-on-error команды procopy load для принудительной остановки процесса загрузки при первой ошибке вместо пропуска проблемных строк;

  • реализован механизм контролируемых повторных попыток отправки пакетов при потере соединения с приёмником (procopy_options.load_max_retries), исключающий зависание утилиты при сетевых сбоях;

  • появилась возможность отключать таймаут запросов к базе данных при установке значения 0 для параметра procopy_options.inprogress_timeout.

Развитие CDC-репликации в prosync

Компонент непрерывной репликации получил поддержку новых архитектурных топологий, расширенную диагностику и оптимизацию работы с высоконагруженными кластерами:

  • реализовано чтение изменений из физических резервных БД (physical standby) и нижестоящих баз данных Oracle, открытых в режиме «только чтение» (prosync_options.oracle_logminer_downstream);

  • добавлена поддержка двунаправленной репликации (multi-master) между двумя главными узлами PostgreSQL / Postgres Pro (версии 16 и выше) с использованием replication origins для предотвращения зацикливания изменений;

  • появился параметр --start-lsn команды prosync init, позволяющий создавать слот логической репликации «в прошлом» (с указанного LSN) для одноузловых инсталляций, BiHA-кластеров и Postgres Pro Shardman при наличии расширения pgpro_logical_slot;

  • расширено управление слотами и публикациями: добавлена возможность задавать пользовательские имена слотов и публикаций, а также создавать только публикацию без слота флагом --publication-only;

  • оптимизирована работа с Oracle RAC и чтением распределённых транзакций: фоновые транзакции (PMON, DBW, ARCH и др.) теперь пропускаются в LogMiner по умолчанию, добавлен флаг --from-time для старта репликации по времени вместо SCN и параметр --skip-missing-archive-logs для обхода отсутствующих архивных журналов;

  • добавлена группа параметров prosync_options.ha_cluster для тонкой настройки отказоустойчивого режима работы (контроль состояния, таймауты, переподключения к БД и перезапуск потоков);

  • реализована встроенная ротация журналов (секция logging), служебный режим запуска (--service) с периодической записью статистики в лог;

  • расширена статистика в TUI-интерфейсе: добавлены метрики Bytes lag и Time lag для экспорта из Oracle, счётчики операций для источников PostgreSQL и индикация состояний Active, Write, Wait.

Серверная часть и пятикратное ускорение интроспекции

В бэкенде ProGate 1.5.0 переработана архитектура подготовки задач и управления метаданными:

  • реализовано серверное сопоставление (mapping) таблиц: автоматическое сопоставление, интеграция в службу трансферов и миграция существующих задач на новую модель;

  • за счёт оптимизации асинхронной интроспекции баз данных время подготовки трансферов сократилось в 5 раз;

  • добавлена поддержка интроспекции и валидации для Postgres Pro AXE 2.0, а также предварительная проверка доступности подключений к базам источника и приёмника.

Обновления интерфейса

Работа с масштабными схемами данных в GUI стала нагляднее и быстрее:

  • процесс создания и редактирования задачи разделён на два логических шага: настройку формы задачи и работу с таблицей сопоставления;

  • страница маппинга переведена на серверную пагинацию с предзагрузкой соседних страниц: добавлены кнопка «Автосопоставление», черновик ручного маппинга, поиск по подстроке, серверные фильтры по статусу и счётчики («Выделено», «Ошибки», «Готово к переносу»);

  • появилась возможность задавать параметры трансфера на уровне отдельных таблиц и скрывать или отображать системные схемы;

  • в SQL-редакторе улучшено автодополнение имён таблиц после FROM и JOIN, а также автоматическое экранирование кавычками имён с точками;

  • на странице детализации трансфера разделены вкладки «Задачи» и «Журнал событий», а подключения, не удовлетворяющие требованиям procopy/prosync, автоматически блокируются для выбора.

Усиление безопасности

В новой версии ограничена частота запросов с одного IP-адреса к конечным точкам аутентификации и обновления токена. Для cookie сеанса добавлены атрибуты Partitioned, Secure и SameSite, реализована отправка заголовков HSTS.

Из конфигурации исключено значение по умолчанию для секрета подписи токенов доступа PROGATE_AUTH_ACCESS_TOKEN_SECRET. Обновлены Go и сторонние библиотеки, устранены уязвимости зависимостей.

Особенности обновления

Важно: при обновлении трансферы с устаревшими группами табличных задач без идентификатора схемы возвращаются в статус «Черновик». Их активные группы задач и задачи, включая задачи типа «SQL-запрос», удаляются. После обновления для таких трансферов необходимо заново создать группы задач и выполнить сопоставление таблиц. Трансферы, содержащие только задачи типа «SQL-запрос», сохраняются.

Документация по установке, настройке и использованию Postgres ProGate 1.5.0 доступна по ссылке:

https://postgrespro.ru/docs/progate/current

Источник: habr.com

0 0 голоса
Рейтинг новости
1
0
Подписаться
Уведомить о
0 комментариев