これは、特に、データ損失なしに他のサーバにフェイルオーバーできるさまざまなレプリケーションソリューションを使用することに対する自信を維持することです。または、データベースの1つが同期しなくなった場合に、合理的な時間内に知ることができるマスター/マスター状態です。2つのpostgresqlデータベース間のデータの整合性を確認する
このためのツールはありますか、一般的には、レプリケーションシステム自体に矛盾を警告するためのツールがありますか?私は現在、マスタースタンバイ設定でのpostgresql WALの配布に最も精通していますが、PgPoolなどのマスターマスター設定を検討しています。しかし、その解決策はPostgreSQL自体に直接関係していません(私の基本的な理解は、アプリケーションが使用する接続を提供し、さまざまなSQL文を傍受し、プール内のどのサーバにでも送信するということです)実際にデータの一貫性を検証することについて、私は考えました。
具体的な要件:
私はちょうどテーブル構造の話ではありません。私は実際のレコードのデータが同じであることを知りたいので、レコードが破損していないかどうかを知ることができます(その場合、最近のバックアップ+ WALファイルで悪いデータベースを再初期化して戻しますプールに入れる)
データベースのサイズは30-50 GBです。私は生のSELECTクエリがうまくいくかどうかは疑問だ。
私はリアルタイムチェックの必要性は見当たりません(しかし、それはもちろんいいかもしれませんが)。毎時または毎日は何よりも良いでしょう。
ブロックレベルのチェックは機能しません。独立したストレージを持つ2つのデータベースになります。
また、このタイプの検証は単純に現実的ではありませんか?
最初に考えた私の心に来るデータベースはとらわれない両側に列をハッシュし、DB2にDB1に行ごとにハッシュを比較する方法を見つけ出すことです。これの最初の負荷は遅くなりますが、これを行うと徐々に前進していくことが悪くないかもしれません。 – Kuberchaun
ここに私の前のコメントを拡張する興味のあるリンクがあります。 http:// stackoverflow。com/questions/9607063 /チェックサムフィールドのpostgresqlとコンテンツの比較 – Kuberchaun