предложить инструмент postgres, чтобы найти разницу между схемой и данными - PullRequest
2 голосов
/ 03 ноября 2010

Дорогие все,
Может ли кто-нибудь предложить мне инструмент Postgres для Linux, который используется для поиска
Разница между 2 заданными базами данных

Я пробовал с apgdiff 2.3, но это дает разницу в терминах схемы, а не данных но мне нужны оба!

Заранее спасибо !

Ответы [ 2 ]

2 голосов
/ 03 ноября 2010

Проверьте dbsolo DBSOLO . Он выполняет сравнение объектов и данных, а также может создавать сценарий синхронизации на основе результатов. Это бесплатно и 99 долларов на покупку. Я предполагаю, что 99 долларов будут хорошо потрачены, чтобы не пытаться придумать собственное программное обеспечение для этого.

Сравнение данных http://www.dbsolo.com/help/datacomp.html

Сравнение объектов http://www.dbsolo.com/help/compare.html

2 голосов
/ 03 ноября 2010

Сравнение данных не так просто, особенно если ваша база данных огромна.Я создал программу на Python, которая может выгружать схему данных PostgreSQL в файл, который можно легко сравнить с помощью сторонней программы diff: http://code.activestate.com/recipes/576557-dump-postgresql-db-schema-to-text/?in=user-186902

Я думаю, что эту программу можно расширить, сбросив данные всех таблиц в отдельные файлы CSVпохож на те, которые используются командой PostgreSQL COPY.Не забудьте добавить те же ORDER BY в SELECT ... запросы.Я создал инструмент, который читает операторы SELECT из файла и сохраняет результаты в отдельных файлах.Таким образом, я могу управлять тем, какие таблицы и поля я хочу сравнить (не все поля можно использовать в ORDER BY, и не все они важны для меня).Такая конфигурация может быть легко создана с помощью утилиты "dump schema".

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