Логическая репликация PostgreSQL - игнорировать уже существующие данные - PullRequest
0 голосов
/ 07 февраля 2019

Представьте, что вы отказываетесь от подписки и воссоздаете ее с нуля.Можно ли игнорировать существующие данные во время первой синхронизации?

Создание подписки с (copy_data=false) не вариант, потому что я хочу скопировать данные , я просто не хочускопировать уже существующих данных.


Пример: на мастере есть таблица users и соответствующая публикация.Эта таблица содержит 1 миллион строк, и каждую минуту добавляется новая строка.Затем мы отбрасываем подписку на один день.

Если мы заново создадим подписку с (copy_data=true), репликация не начнется из-за конфликта с уже существующими данными.Если мы укажем (copy_data=false), 1440 новых строк будут отсутствовать.Как правильно синхронизировать издателя и подписчика?

1 Ответ

0 голосов
/ 07 февраля 2019

Вы не можете сделать это, потому что PostgreSQL не может сообщить, когда были добавлены данные.

Вам придется согласовывать таблицы вручную (или INSERT ... ON CONFLICT DO NOTHING).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...