這特別是關於保持使用各種複製解決方案的信心,這些複製解決方案可以在不丟失數據的情況下故障轉移到其他服務器。或者,如果其中一個數據庫不同步,您可以在合理的時間內知道主 - 主情況。驗證兩個postgresql數據庫之間的數據一致性
這裏是否有任何工具,或者人們通常是否依賴複製系統本身來警告不一致?我目前最熟悉postgresql WAL在主備備份設置中發貨,但我正在考慮使用類似於PgPool的主 - 主設置。然而,由於這個解決方案與PostgreSQL本身並不直接相關(我的基本理解是它提供了應用程序將使用的連接,因此攔截了各種SQL語句,然後將它們發送到其池中的任何服務器) ,這讓我更多地考慮實際驗證數據一致性。
具體要求:
我不是在談論只是表結構。我想知道實際的記錄數據是相同的,這樣我就會知道記錄是否損壞或遺漏(在這種情況下,我會在將它帶回之前用最近的備份+ WAL文件重新初始化壞數據庫進入池中)
數據庫的大小爲30-50GB。我懷疑原始的SELECT查詢會很好地工作。
我沒有看到需要實時檢查(儘管它當然會很好)。每小時甚至每天都會比沒有好。
塊級檢查不起作用。這將是兩個獨立存儲的數據庫。
或者是這種類型的驗證根本不現實?
首先想到的是在我腦海中是數據庫無關的散列兩側行,並找出如何在DB1的哈希值比較每個行DB2。這將是最初的負載會很慢,但如果你這樣做,這往前遞增可能不會那麼糟糕。 – Kuberchaun 2013-05-14 18:26:37
這是一個感興趣的鏈接,以延伸我之前的評論。 HTTP://計算器。com/questions/9607063/checksum-field-in-postgresql-to-content-comparison – Kuberchaun 2013-05-14 19:02:29