2011-01-26 20 views
57

¿Es posible comparar dos bases de datos con una estructura idéntica? Digamos que tengo dos bases de datos, DB1 y DB2, y quiero verificar si hay una diferencia de datos entre ellas.¿Cómo verificar la diferencia entre dos bases de datos en PostgreSQL?

+0

Ver también http: // stackoverflow.com/q/2178907/453605 –

+0

[dbForge Comparación de datos para PostgreSQL] (https://www.devart.com/dbforge/postgresql/datacompare/) resuelve estas cuestiones. – Devart

Respuesta

49

Hay varias herramientas que hay:

Los Libres:

Comercial:

+3

1 apgdiff funciona para mí –

+8

Sólo liquibase.org y Aqua Data Studio parece comparar los datos, otros simplemente comparar esquema. –

+0

@AmirAliAkbari Liquibase * * hace diferenciaciones de esquema de apoyo –

18

Intente utilizar pg_dump en ambas bases de datos y difiera los archivos.

+16

+1 para simple y directo. Pero, ¿estamos seguros de que pg_dump va a volcar datos de bases de datos idénticas en el mismo orden si, por ejemplo, las tablas se crearon en diferentes órdenes? (Espero que la orden se base en dependencias de restricciones, sin preocuparse por el tiempo de creación, pero la esperanza no se escala bien.) –

+3

No lo hacemos. Mejor aún, yo no. Buen punto. –

+8

puede usar -a -d y | ordenar Pero esta información puede no ser importable, sin embargo, estaría bien para la verificación básica. –

7

Otro ap gratuito P:

DBeaver - se puede seleccionar bases de datos, tablas, etc para comparar entre sí

+0

¿Podría explicar mejor cómo comparar datos de 2 bases de datos con DBeaver? – nicola

+1

Aquí hay una imagen que muestra cómo comparar dos bases de datos. Pero puedes comparar algo específico - e. gramo. solo tablas. [Comparación de dos bases de datos en DBeaver] [1] [1]: https://i.stack.imgur.com/dXlJj.png – iki

+0

Por lo que sé, DBeaver solo permite la comparación de metadatos, no la comparación de datos. – nicola

0

También estoy buscando una herramienta para comparar los datos en bases de datos (en particular, estaba interesado en la comparación de corrimiento al rojo DB) . Hasta ahora, lo mejor que he encontrado es https://www.dbbest.com/products/database-compare-suite/#close. Lamentablemente, la versión de prueba gratuita caduca después de un día.

0

Estoy trabajando en una herramienta de comparación integral para Postgres. Será gratis mientras esté en beta.

Postgres Compare

Inicialmente esto es sólo esquema (DDL) comparación, pero que probablemente se expandirá a datos también. Creo que esta es una herramienta que muchas tiendas requieren para pasar de su RDBMS actual sin tener que cambiar también cómo funcionan sus entornos de desarrollo, operaciones, etc.

+0

Los datos también son muy importantes. Schema solo no es suficiente. – Houman

+1

Hola @Houman. Lo siento por la respuesta tardía. Tienes razón, los datos serán el siguiente paso. Lo mejor de la construcción de la herramienta de comparación de esquemas primero es que todo el código para descubrir tablas, etc. puede compartirse entre ellos. –

1

La mejor herramienta que he visto https://pythonhosted.org/Pyrseas/

  1. obtener información sobre volcado de la base de datos de un dbtoyaml ...

  2. Generar la migración de A => B yamltodb ... [archivo generado en el paso 1]

Cuestiones relacionadas