Ошибка логической репликации Postgresql: ключ уже существует - PullRequest
0 голосов
/ 13 ноября 2018

Столкнулся с проблемой - на ведомом устройстве время от времени выявляется ошибка, что процесс репликации не может вставить строку в таблицу с первичным ключом, поскольку это значение идентификатора уже существует.

Select с этим идентификатором возвращает 0 строк (так что, вероятно, он был вставлен, но не зафиксирован)

Перезапуск ведомого не помог, снова та же ошибка при запуске репликации.

Итак, в этот момент репликация входит в бесконечный цикл и останавливается. Есть ли какие-нибудь подсказки, как это могло бы произойти?

p.s. на ведомом устройстве никто не имеет доступа к записи, кроме пользователя системы репликации

p.p.s. У меня такое ощущение, что в wal эта вставка добавлена ​​дважды. Является ли это возможным? В базе данных prod эта таблица имеет такую ​​же структуру, идентификатор генерируется с помощью последовательности, и это тоже ее первичный ключ

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