建议使用postgres工具来查找模式和数据之间的差异

时间:2010-11-03 12:00:50

标签: postgresql

亲爱的,
任何人都可以建议我使用linux的postgres工具来查找 2给定数据库之间的差异

我尝试使用apgdiff 2.3但它在模式而不是数据方面给出了差异 但我需要两个!

提前致谢 !

3 个答案:

答案 0 :(得分:2)

比较数据并不容易,特别是如果您的数据库很大。我创建了可以将PostgreSQL数据模式转储到文件的Python程序,可以通过第三方差异程序轻松比较:http://code.activestate.com/recipes/576557-dump-postgresql-db-schema-to-text/?in=user-186902

我认为可以通过将所有表数据转储到单独的CSV文件中来扩展此程序,类似于PostgreSQL COPY命令所使用的文件。请务必在ORDER BY次查询中添加相同的SELECT ...。我创建了一个从文件中读取SELECT语句的工具,并将结果保存在单独的文件中。通过这种方式,我可以管理我想要比较的表和字段(并非所有字段都可以在ORDER BY中使用,并且并非所有字段对我都很重要)。可以使用“dump schema”实用程序轻松创建此类配置。

答案 1 :(得分:2)

查看dbsolo DBSOLO。它同时进行对象和数据比较,并可以根据结果创建同步脚本。它可以免费试用99美元。我的猜测是99美元将花费很多钱,以避免试图拿出自己的软件来做到这一点。

数据比较 http://www.dbsolo.com/help/datacomp.html

对象比较 http://www.dbsolo.com/help/compare.html

答案 2 :(得分:0)

apgdiff https://www.apgdiff.com/ 这是一个开源解决方案。我之前用它来检查转储差异之间的差异。非常有用

[编辑] 它仅用于按模式进行区分