У меня проблема, которая продолжается дольше. Я использую slony для репликации базы данных от ведущего к подчиненному и от этого подчиненного устройства к трем другим серверам резервного копирования. Однажды через 2-3 недели возникает проблема с дублированием ключей, которая происходит только на одной конкретной таблице (большой, но не самой большой в базе данных).Ошибка «дублирующее значение ключа нарушает единственное ограничение»
Это началось как год назад на Postgres 8.4 и slony 1, и мы переключились на 2.0.1. Позже мы обновили его до 2.0.4, и мы успешно обновили slony до 2.1.3, и это наша текущая версия. Мы начали новую репликацию на тех же компьютерах, и до сегодняшнего дня все было хорошо. Мы получили ту же самую ошибку дублирования ключевого слова в той же таблице (с разными ключами каждый раз, конечно).
Решение для его очистки - это просто удалить недействительный ключ на ведомых устройствах (он распространяется по всем узлам), и все это снова работает. Данные не повреждены. Но проблема остается нерешенной.
В googles я не нашел ничего, связанного с этой проблемой (мы не использовали truncate на любой таблице, мы не меняли структуру таблицы).
Любые идеи о том, что можно сделать по этому поводу?
Обычным виновником является приложение, изменяющее одну из записей в реплицированной таблице. Убедитесь, что ваше приложение имеет доступ только для чтения к реплицированным таблицам на репликах. –