Bandingkan dua database Postgres serupa untuk perbedaan

14

Saya sesekali mengunduh set data yang tersedia untuk umum dalam bentuk Postgres dBs. Kumpulan data ini diperbarui / dimodifikasi / diperluas dari waktu ke waktu oleh host repositori.

Apakah ada perintah atau alat Postgres (idealnya FOSS) yang dapat menunjukkan perbedaan antara database OLD dan BARU Postgres? (Asumsi yang berfungsi adalah bahwa 95% dari entri tidak berubah dan bahwa tabel dan hubungan juga tidak berubah).

CuriousGorge
sumber
1
Apa yang akhirnya Anda gunakan? Tidak ada jawaban yang benar-benar memiliki solusi.
nyov

Jawaban:

10

Silakan lihat pada Tanya Jawab Stack Overflow, Bagaimana cara memeriksa perbedaan antara dua database di PostgreSQL? ; khususnya Alat PostgreSQL Lain (apgdiff) (hanya perbandingan skema). Apgdiff direkomendasikan oleh Alexander Kuznetsov - penulis buku database yang diterbitkan dan sedikit guru.

Mungkin juga lihat Liquibase atau Bandingkan Data Tabel Database .

Ada juga produk komersial - misalnya Pembedaan Basis Data Altova dengan DiffDog

Vérace
sumber
1
apgdiff tidak membandingkan data tabel, metaqa terakhir dirilis 2008 dan rusak. Basis data liquibase tidak diarahkan pada kasus penggunaan OP: "Perbedaan data (terbatas), tidak dicentang secara default"
nyov
2

Ada juga:

Postgres Bandingkan
sumber
1
pgdiff tidak membandingkan data tabel.
nyov
0

Jika Anda memerlukan sesuatu yang cukup cepat dan kotor untuk membandingkan skema, saya menulis inti ini untuk membantu membandingkan skema berjalan dengan skema "terbaru" - sesuatu yang mungkin di-host di SCM. Ini bekerja cukup baik untuk proyek ~ 50 tabel.

Sobat
sumber
Tidak membandingkan data tabel.
nyov
Itu tidak masalah untuk kebutuhan saya. Saya hanya perlu membandingkan skema - data di dalamnya tidak begitu penting. Saya yakin itu tidak jauh dari dapat membandingkan data jika Anda entah bagaimana dapat mengontrol urutan dump untuk menjadi deterministik lintas versioins / installs / etc.
Buddy
Tidak masalah. Saya hanya frustrasi bahwa tidak ada yang punya jawaban yang baik untuk sofat pertanyaan yang sebenarnya (Yang secara khusus menyatakan "Asumsi kerja adalah bahwa 95% dari entri tidak berubah dan bahwa tabel dan hubungan juga tidak berubah ".)
nyov