Compare dos bases de datos de Postgres similares para las diferencias


14

Ocasionalmente descargo conjuntos de datos disponibles públicamente en forma de dB de Postgres. Estos conjuntos de datos son actualizados / modificados / expandidos con el tiempo por el host del repositorio.

¿Existe un comando o herramienta de Postgres (idealmente FOSS) que pueda mostrar las diferencias entre una base de datos Postgres ANTIGUA y NUEVA? (Una suposición de trabajo es que el 95% de las entradas no cambian y que las tablas y las relaciones tampoco cambian).


1
¿Qué terminaste usando? Ninguna de las respuestas realmente parece tener una solución.
nyov

Respuestas:


10

Eche un vistazo a las preguntas y respuestas sobre el desbordamiento de pila, ¿Cómo verificar la diferencia entre dos bases de datos en PostgreSQL? ; en particular, Otra herramienta de diferencias de PostgreSQL (apgdiff) (solo comparación de esquemas). Apgdiff es recomendado por Alexander Kuznetsov, un autor de libros de bases de datos publicado y un poco gurú.

Quizás también mire Liquibase o Compare Data Table Table Data .

También hay productos comerciales, por ejemplo, Altova Database Differenceing with DiffDog


1
apgdiff no compara los datos de la tabla, metaqa se lanzó por última vez en 2008 y no funciona. La diferencia de la base de datos de liquibase no está orientada al caso de uso de los OP: "Diferencias de datos (limitadas), no verificadas por defecto"
nyov


0

Si necesita algo bastante rápido y sucio para comparar esquemas, escribí este resumen para ayudar a comparar un esquema en ejecución con un "último" esquema, algo que tal vez esté alojado en SCM. Funciona bastante bien para un proyecto de ~ 50 mesas.


No compara los datos de la tabla.
nyov

Eso estuvo bien para mis necesidades. Solo necesitaba comparar esquemas: los datos que contenía no eran tan importantes. Estoy seguro de que no está lejos de poder comparar datos si de alguna manera puede controlar el orden del volcado para que sea determinista en versioins / installs / etc.
Amigo

Está bien. Estaba frustrado porque nadie tenía una buena respuesta a la pregunta real (que dice específicamente "Una suposición de trabajo es que el 95% de las entradas no cambian y que las tablas y las relaciones tampoco cambian ".)
nyov
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.