Перейти к основному содержимому

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

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

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

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

    Внимание!

    Команда CREATE PUBLICATION работает с DDL и DML (INSERT, UPDATE, DELETE) операциями (подробнее в документации PostgreSQL в разделе CREATE PUBLICATION). Имя публикации должно отличаться от названия любой существующей публикации в текущей базе данных.

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

    примечание

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

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

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

    примечание

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

Результат​

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