次のような状況です。3台のマシンでpostgresqlデータベースを実行しています。1つのマシンはクライアントアカウント情報を保持し(このマシンをCと呼びます)、他の2つのマシンはクライアントロギング情報を保持します(これらのL1とL2を呼び出します)。分割の理由は、複数のマシンにまたがるロードを分離するためです(そのため、一部のクライアントはログ情報をL1に送信し、一部はL2に送信します...おそらくL3、L4などの時間を送信します)。
ロギング情報を取得するときは、原則として、LnのロギングテーブルとCのクライアントアカウントテーブルの間で結合できるようにしたいと思います。実際には、このような結合はできません(可能な場合でも、 Cの読み込みを回避するため)。
私の考えは、Cのテーブルを各L1、L2、...に複製して、結合を実行できるようにすることです。Cのテーブルに関する限り、Cはマスターで、L1、L2、...はスレーブです。しかし、L1、L2などの他のテーブルでは、これらのマシンはマスターです。これは正確にはマスターマスターレプリケーションではなく、正確にはマスタースレーブではありません。
postgres(私は9.1を実行しています)のレプリケーションでこれを実行するように説得できますか。最後の手段として、テーブルを定期的に同期するコードを書くことができます(多少の遅延は許容できます)が、それはできません。
前もって感謝します。