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

14

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

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

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

Ответы:

10

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

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

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

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

А также есть:

  • PgDiff
  • и инструмент, над которым я работаю в Postgres Compare, который бесплатный, пока в бета-версии
Postgres Сравнить
источник
1
pgdiff не сравнивает данные таблицы.
nyov
0

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

дружище
источник
Не сравнивает данные таблицы.
nyov
Это было хорошо для моих нужд. Мне нужно было только сравнить схемы - данные внутри были не так важны. Я уверен, что это не далеко от возможности сравнивать данные, если вы можете каким-то образом контролировать порядок дампа, чтобы быть детерминированным в разных версиях / установках / и т.д.
Приятель
Все в порядке. Я был просто разочарован тем, что никто не смог дать хороший ответ на настоящий вопрос. (В котором конкретно говорится: «Рабочее допущение состоит в том, что 95% записей не изменяются и что таблицы и отношения также не меняются ».)
nyov