¿Es posible comparar dos bases de datos con estructura idéntica? Digamos que tengo dos bases de datos DB1 y DB2 y quiero verificar si hay una diferencia en los datos entre ellas.
postgresql
schema-compare
sennin
fuente
fuente
Respuestas:
Hay varias herramientas disponibles:
(tenga en cuenta que la mayoría de estas herramientas solo pueden comparar la estructura, pero no los datos)
Gratis:
Comercial:
fuente
apgdiff
no admite bien las tablas heredadas, y la excepción se lanza inmediatamente cuando intento usarlo.WbSchemaDiff
funciona muy bien, sorpresa!Intente usar
pg_dump
ambas bases de datos y diferenciar los archivos.fuente
pg_dump
está bien para eso. Si ve diferencias significativas conpg_dump
probablemente esté tratando de comparar cosas que están más allá de ser comparables. Al menos para comparar PG dbs.psql -c '\x' -c 'SELECT... ORDER BY...'
lugar depg_dump
.Otra aplicación gratuita (que solo puede comparar estructura, pero no datos ):
DBeaver : puede seleccionar bases de datos, tablas, etc. para comparar entre sí
fuente
He evaluado muchas de las herramientas y he encontrado la siguiente solución:
Comparación de esquemas :
Los más interesantes fueron Liquibase, Persyas y PgCodeKeeper:
( problema ) Liquebase convierte:
SET DEFAULT nextval('myschema.name_id_seq'::regclass)
dentro
Entonces fue rechazado usar
( problema ) Persyas funcionó bien hasta que agregué un esquema adicional y comienza a arrojar lo siguiente:
Entonces encontré que PgCodeKeeper funciona perfectamente y está vivo (puede verificar las versiones). Yo uso el siguiente comando:
Comparación de datos: he intentado usar Liquebase y simplemente no funciona, puede ver los pasos que probé en mi pregunta sin respuesta sobre la diferencia de datos de dos bases de datos con Liquebase
Así que encontré otro proyecto SQL Workbench / J Funciona muy bien y genera diferencias reales en sql. Yo uso el siguiente comando:
Ambas herramientas soportan la filtración de objetos. Es realmente conveniente.
Migraciones
Y finalmente uso Liquebase solo para la migración / seguimiento de versiones.
fuente
Estoy trabajando en una herramienta de comparación integral para Postgres. Será gratis mientras esté en beta.
PostgresCompare
Inicialmente, esto es solo una comparación de esquema (DDL), pero probablemente también ampliaremos los datos. Creo que esta es una herramienta que muchas tiendas necesitan para pasar de su RDBMS actual sin tener que cambiar también cómo funcionan sus entornos de desarrollo, operaciones, etc.
fuente
La mejor herramienta que he visto en mi vida https://pythonhosted.org/Pyrseas/
Obtener volcado de la base de datos A dbtoyaml ...
Genere la migración desde A => B yamltodb ... [archivo generado en el paso 1]
fuente
También estoy buscando una herramienta para comparar datos en bases de datos (en particular, estaba interesado en comparar Redshift DB). Hasta ahora, lo mejor que encontré es https://www.dbbest.com/products/database-compare-suite/#close . Lamentablemente, la prueba gratuita caduca después de un día.
fuente
Creé una herramienta para comparar 2 bases de datos PostgreSQL en vivo (no volcados), datos de tablas y secuencias. Bastante temprano, pero logré lo que quería que hiciera, tal vez también pueda ayudarte.
https://github.com/dmarkey/pgdatadiff
fuente
En mi opinión, Dbforge es la herramienta más poderosa para los datos de comapring en postgresql. Es un producto de la empresa Devart. Puede descargarlo aquí .
fuente