Сравните две похожие базы данных Postgres на предмет различий


14

Я иногда скачиваю общедоступные наборы данных в виде Postgres dBs. Эти наборы данных обновляются / модифицируются / расширяются со временем хостом хранилища.

Есть ли команда или инструмент Postgres (в идеале FOSS), которые могут показать различия между старой и новой базой данных Postgres? (Рабочее предположение состоит в том, что 95% записей не изменяются и таблицы и отношения также не меняются).


1
Что вы в конечном итоге использовали? Ни один из ответов, похоже, не имеет решения.
nyov

Ответы:


10

Посмотрите на вопросы и ответы по переполнению стека. Как проверить разницу между двумя базами данных в PostgreSQL? ; в частности, другой инструмент различий PostgreSQL (apgdiff) (только сравнение схем). Apgdiff рекомендован Александром Кузнецовым - автором опубликованной базы данных и немного гуру.

Возможно также посмотрите на Liquibase или сравните данные таблицы базы данных .

Есть также коммерческие продукты - например, дифференцирование базы данных Altova с помощью DiffDog


1
apgdiff не сравнивает данные таблиц, metaqa последний раз выпущен в 2008 году и не работает. Различия в базе данных liquibase не ориентированы на сценарии использования OP: «Различия в данных (ограниченные), по умолчанию не проверяются»
nyov


0

Если вам нужно что-то довольно быстрое и грязное для сравнения схем, я написал эту суть, чтобы помочь сравнить работающую схему с «последней» схемой - что-то, возможно, размещено в SCM. Это работает довольно хорошо для проекта ~ 50 таблиц.


Не сравнивает данные таблицы.
nyov

Это было хорошо для моих нужд. Мне нужно было только сравнить схемы - данные внутри были не так важны. Я уверен, что это не далеко от возможности сравнивать данные, если вы можете каким-то образом контролировать порядок дампа, чтобы быть детерминированным в разных версиях / установках / и т.д.
Приятель

Все в порядке. Я был просто разочарован тем, что никто не смог дать хороший ответ на настоящий вопрос. (В котором конкретно говорится: «Рабочее допущение состоит в том, что 95% записей не изменяются и что таблицы и отношения также не меняются ».)
nyov
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.