Выбор таблиц для репликации с использованием SQL-команд управления публикацией#
Последовательность выполнения#
Зайдите в клиентский терминал psql, в БД источника репликации пользователем с правами на создание публикации.
Создайте публикацию:
CREATE PUBLICATION {имя_публикации} FOR ALL TABLES, чтобы реплицировать все таблицы, илиCREATE PUBLICATION {имя_публикации} FOR TABLE {имя_таблицы1}, {имя_таблицы2}для репликации отдельных таблиц.Команда
CREATE PUBLICATIONработает только с DML операциями (подробнее CREATE PUBLICATION). Допустимые операции: INSERT, UPDATE, DELETE. По умолчанию реплицируются все перечисленные типы операций.Имя публикации должно отличаться от названия любой существующей публикации в текущей базе данных.
Пропишите в клиентском терминале psql, в БД источника
REPLICA IDENTITY FULL, если нужно реплицировать таблицу без первичного ключа.Выбрать таблицы для репликации также нужно в визуальном редакторе маппинга (подробнее в «Руководстве пользователя интерфейса консоли управления», разделе «Настройка маппинга»).
Если не все изменения в БД источника должны попадать в базу данных приемника, то есть предполагается фильтрация с помощью маппинга, то для достижения лучшей производительности, рекомендуется поместить таблицы из маппинга в публикацию.
Обновите публикацию для репликации конкретных таблиц после обновления схемы, в которую входят выбранные таблицы. Для этого создайте публикацию:
ALTER PUBLICATION {имя_публикации} ADD TABLE {имя_таблицы1}, {имя_таблицы2};или удалите публикацию командойDROP PUBLICATION {имя_публикации}и пропишите командуCREATE PUBLICATIONдля этих таблиц заново.При добавлении новой таблицы в маппинг, так же добавьте эту таблицу в публикацию командой
ALTER PUBLICATION.
Результат#
Выбранные таблицы отображаются в визуальном редакторе маппинга.