Я построил master -> slave setup с PostgreSQL 10 для синхронизации данных из некоторых конкретных таблиц с ведомым компьютером, который является публичной системой.Сейчас в течение всего времени я сталкиваюсь со странным поведением: некоторые таблицы вообще не синхронизируются.
Просматривая журнал PostgreSQL, я сталкиваюсь с такими сообщениями об ошибках:
2018-06-07 15:28:30.163 CEST [4134] LOG: worker process: logical replication worker for subscription 18249 sync 17956 (PID 6706) exited with exit code 1
2018-06-07 15:28:30.183 CEST [6707] ERROR: duplicate key value violates unique constraint "producttext_pk"
2018-06-07 15:28:30.183 CEST [6707] DETAIL: Key (id)=(100) already exists.
2018-06-07 15:28:30.183 CEST [6707] CONTEXT: COPY producttext, line 1
Для дальнейшего анализа я удалил первичный ключ в этой таблице на ведомом компьютере, и в этом случае ошибка больше не возникает, НО теперь я получаю повторяющиеся записи в таблице.
Единственный способчтобы предотвратить повторяющиеся записи, необходимо иметь первичный ключ на месте, но тогда синхронизация не будет работать, пока она продолжает циклически обрабатывать ровно четыре таблицы, не переходя к остальным.
Я проверил роли и владельцауже и те установлены правильно.Как уже говорилось, без первичного ключа все синхронизируется, не выдает ошибок, а создает повторяющиеся записи.
Могу ли я что-то пропустить на этом этапе?Большое спасибо.