Это касается уверенности в использовании различных решений репликации, которые вы могли бы переустановить на другой сервер без потери данных. Или в ситуации мастер-мастера, которую вы могли бы знать в течение разумного промежутка времени, если одна из баз данных выпала из синхронизации.Проверка согласованности данных между двумя базами данных postgresql
Есть ли какие-либо инструменты для этого, или люди вообще зависят от самой системы репликации, чтобы предупреждать о несоответствиях? В настоящее время я больше всего знаком с доставкой Postgresql WAL в настройке master-standby, но я рассматриваю установку master-master с чем-то вроде PgPool. Однако, поскольку это решение немного меньше напрямую связано с самим PostgreSQL (мое основное понимание заключается в том, что он обеспечивает соединение, которое приложение будет использовать, перехватывая различные операторы SQL и затем отправляя их на все серверы в своем пуле) , это заставило меня больше думать о фактической проверке согласованности данных.
Особые требования:
Я не говорю о просто структура таблицы. Я бы хотел знать, что фактические данные записи одинаковы, поэтому я знаю, были ли повреждены или пропущены записи (в этом случае я бы повторно инициализировал поврежденную базу данных с помощью последних файлов резервной копии + WAL, прежде чем вернуть их обратно в бассейн)
Базы данных находятся в заказе 30-50 ГБ. Я сомневаюсь, что необработанные запросы SELECT будут работать очень хорошо.
Я не вижу необходимости в проверке в реальном времени (хотя это, конечно, было бы неплохо). Почасовой или даже ежедневный был бы лучше, чем ничего.
Проверка уровня блока не будет работать. Это были две базы данных с независимым хранилищем.
Или этот тип проверки просто не реалистичен?
Первая мысль, которая приходит в голову, что это агностик база данных хэш строки с обеих сторон и выяснить, как сравнить хэши для каждой строки в DB1 к db2. Первоначальная загрузка этого будет медленной, но если вы делаете это постепенно, это может быть не так уж плохо. – Kuberchaun
Вот ссылка, интересная для распространения моего предыдущего комментария. Http: // StackOverflow.com/questions/9607063/checksum-field-in-postgresql-to-content-сравнение – Kuberchaun