这特别是关于保持对使用各种复制解决方案的信心,您可以在不丢失数据的情况下故障转移到其他服务器。或者在主-主情况下,如果其中一个数据库不同步,您可以在合理的时间内知道。
是否有任何工具可以解决这个问题,或者人们通常依赖复制系统本身来警告不一致?我目前最熟悉在主备设置中的 postgresql WAL 运输,但我正在考虑使用 PgPool 之类的主主设置。但是,由于该解决方案与 PostgreSQL 本身的直接联系不太直接(我的基本理解是它提供了应用程序将使用的连接,因此拦截了各种 SQL 语句,然后将它们发送到其池中的任何服务器) ,它让我更多地思考如何实际验证数据一致性。
具体要求:
我不是在谈论表结构。我想知道实际的记录数据是相同的,以便我知道记录是否已损坏或丢失(在这种情况下,我将使用最近的备份 + WAL 文件重新初始化坏数据库,然后再将其恢复进入游泳池)
数据库大小为 30-50 GB。我怀疑原始的 SELECT 查询会很好地工作。
我认为不需要实时检查(尽管它当然会很好)。每小时甚至每天都比没有好。
块级检查不起作用。这将是两个具有独立存储的数据库。
或者这种类型的验证根本不现实?