PostgreSQL 数据差异

PostgreSQL 数据差异

注意:这个问题与同步数据库无关架构/结构

问题

在我的 Web 应用程序中,我有一个PostgreSQL数据库服务器(PGS)和一个(单独的机器)业务逻辑服务器(BLS),它们定期(每隔一两分钟)查询“SELECT ALL” PGS

问题是“SELECT ALL”查询每次很容易返回 50-200 MB。显然,如此频繁地通过 Web 传输如此多的数据在架构上并不是很好。

可能的解决方案

我想做的是运行一些diff工具PGS,并将新查询与前一个查询进行比较(所有这些都应该在 上完成PGS)。比较完成后,我想从 获得转储PGS并将其传输到BLS。我期望基于差异的转储会比整个“SELECT ALL”查询小得多。

问题

是否有任何 PostgreSQL 数据差异工具可以比较两个表或两个转储之间的 PostgreSQL 数据?

注意:我更喜欢一些开源软件工具。

答案1

Postgres 可以为您完成所有这些工作,无需任何附加工具。服务器生成 WAL(预写日志)文件,其中包含对数据库所做的所有更改。我认为您真正需要的是流式复制。阅读:

如果你真的不想谈论同步数据库架构/结构,你可能会对这个答案中描述了解决方案。

相关内容