Порівняйте дві подібні бази даних Postgres для відмінностей


14

Я час від часу завантажую загальнодоступні набори даних у вигляді постгресів. Ці набори даних оновлюються / змінюються / розширюються з часом хостом сховища.

Чи існує команда або інструмент Postgres (в ідеалі FOSS), який може показати відмінності між СТАРОЮ та НОВОю базою даних Postgres? (Прийнятне припущення полягає в тому, що 95% записів є незмінними і що таблиці та відносини також не змінюються).


1
Що ти в кінцевому підсумку використав? Жодна з відповідей, схоже, не має рішення.
nyov

Відповіді:


10

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

Можливо, також подивіться на Liquibase або Порівняйте дані таблиці баз даних .

Існують також комерційні товари - наприклад, Altova Database Differencing з DiffDog


1
apgdiff не порівнює дані таблиці, метаqa востаннє випущена у 2008 році та порушена. База даних liquidibase розрізнена не на випадок використання ОП: "Дані різниці (обмежені), не перевіряються за замовчуванням"
nyov


0

Якщо вам потрібно щось досить швидке і брудне для порівняння схем, я написав цю суть, щоб допомогти порівняти запущену схему з "останньою" схемою - щось, можливо, розміщене в SCM. Він працює досить добре для проекту ~ 50 таблиць.


Не порівнює дані таблиці.
nyov

Це було гаразд для моїх потреб. Мені потрібно було лише порівняти схеми - дані всередині були не такі важливі. Я впевнений, що далеко не в змозі порівняти дані, якщо ви зможете якось контролювати порядок демпінгу, який буде детермінованим у версіях / інсталяціях / тощо.
Бадді

Це добре. Мене просто засмутило те, що ніхто не мав належної відповіді на фактичне розм’якшення питання (Що конкретно стверджує: "Робоче припущення полягає в тому, що 95% записів є незмінними і що таблиці та відносини також не змінюються ")
nyov
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.