เปรียบเทียบฐานข้อมูล Postgres ที่คล้ายกันสองฐานเพื่อหาความแตกต่าง


14

ฉันดาวน์โหลดชุดข้อมูลที่เปิดเผยต่อสาธารณชนเป็นครั้งคราวในรูปแบบของ Postgres dBs ชุดข้อมูลเหล่านี้ได้รับการปรับปรุง / แก้ไข / ขยายเมื่อเวลาผ่านไปโดยโฮสต์ที่เก็บ

มีคำสั่ง Postgres หรือเครื่องมือ (FOSS ในอุดมคติ) ที่สามารถแสดงความแตกต่างระหว่างฐานข้อมูล OLD และ NEW Postgres ได้หรือไม่? (ข้อสันนิษฐานการทำงานคือ 95% ของรายการไม่มีการเปลี่ยนแปลงและตารางและความสัมพันธ์จะไม่เปลี่ยนแปลง)


1
คุณใช้อะไรลงไป ดูเหมือนว่าไม่มีคำตอบจริงๆที่จะมีทางออก
nyov

คำตอบ:


10

ดูที่ Stack Overflow Q & A, วิธีตรวจสอบความแตกต่างระหว่างสองฐานข้อมูลใน PostgreSQL ; โดยเฉพาะอีกเครื่องมือ PostgreSQL Diff อื่น (apgdiff) (การเปรียบเทียบ schema เท่านั้น) Apgdiff ขอแนะนำโดย Alexander Kuznetsov - ผู้แต่งหนังสือฐานข้อมูลที่ตีพิมพ์

อาจจะยังดูLiquibaseหรือเปรียบเทียบฐานข้อมูลข้อมูลตาราง

นอกจากนี้ยังมีผลิตภัณฑ์เชิงพาณิชย์เช่นAltova Database Differencing กับ DiffDog


1
apgdiff ไม่ได้เปรียบเทียบข้อมูลตาราง metaqa เปิดตัวล่าสุดปี 2008 และใช้งานไม่ได้ ฐานข้อมูลของ liquibase ไม่ได้ถูกนำไปใช้ในกรณีการใช้งานของ OP: "ความแตกต่างของข้อมูล (จำกัด ), ไม่ได้ตรวจสอบโดยค่าเริ่มต้น"
nyov


0

หากคุณต้องการสิ่งที่ค่อนข้างรวดเร็วและสกปรกเพื่อเปรียบเทียบสกีมาฉันเขียนส่วนสำคัญนี้เพื่อช่วยเปรียบเทียบสคีมาที่ทำงานกับสคีมา "ล่าสุด" - สิ่งที่อาจโฮสต์ใน SCM มันทำงานได้ค่อนข้างดีสำหรับโครงการประมาณ 50 ตาราง


ไม่เปรียบเทียบข้อมูลตาราง
nyov

ไม่เป็นไรสำหรับความต้องการของฉัน ฉันเพียงต้องการเปรียบเทียบ schemas - ข้อมูลภายในไม่สำคัญ ฉันแน่ใจว่ามันอยู่ไม่ไกลจากความสามารถในการเปรียบเทียบข้อมูลถ้าคุณสามารถควบคุมลำดับของการถ่ายโอนข้อมูลที่จะกำหนดไว้ใน Versioins / ติดตั้ง / ฯลฯ
Buddy

ไม่เป็นไร. ฉันรู้สึกหงุดหงิดที่ไม่มีใครมีคำตอบที่ดีสำหรับคำถามที่เกิดขึ้นจริง (ซึ่งระบุว่า "ข้อสันนิษฐานการทำงานคือ 95% ของรายการไม่เปลี่ยนแปลงและตารางและความสัมพันธ์ยังไม่เปลี่ยนแปลง ".)
nyov
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.