Выбор таблиц для репликации с использованием SQL-команд управления публикацией#

Последовательность выполнения#

  1. Зайдите в клиентский терминал psql, в БД источника репликации пользователем с правами на создание публикации.

  2. Создайте публикацию: CREATE PUBLICATION {имя_публикации} FOR ALL TABLES, чтобы реплицировать все таблицы, или CREATE PUBLICATION {имя_публикации} FOR TABLE {имя_таблицы1}, {имя_таблицы2}для репликации отдельных таблиц.

    Команда CREATE PUBLICATION работает только с DML операциями (подробнее CREATE PUBLICATION). Допустимые операции: INSERT, UPDATE, DELETE. По умолчанию реплицируются все перечисленные типы операций.

    Имя публикации должно отличаться от названия любой существующей публикации в текущей базе данных.

  3. Пропишите в клиентском терминале psql, в БД источника REPLICA IDENTITY FULL, если нужно реплицировать таблицу без первичного ключа.

    Выбрать таблицы для репликации также нужно в визуальном редакторе маппинга (подробнее в «Руководстве пользователя интерфейса консоли управления», разделе «Настройка маппинга»).

    Если не все изменения в БД источника должны попадать в базу данных приемника, то есть предполагается фильтрация с помощью маппинга, то для достижения лучшей производительности, рекомендуется поместить таблицы из маппинга в публикацию.

  4. Обновите публикацию для репликации конкретных таблиц после обновления схемы, в которую входят выбранные таблицы. Для этого создайте публикацию: ALTER PUBLICATION {имя_публикации} ADD TABLE {имя_таблицы1}, {имя_таблицы2}; или удалите публикацию командой DROP PUBLICATION {имя_публикации}и пропишите команду CREATE PUBLICATION для этих таблиц заново.

    При добавлении новой таблицы в маппинг, так же добавьте эту таблицу в публикацию командой ALTER PUBLICATION.

Результат#

Выбранные таблицы отображаются в визуальном редакторе маппинга.