[pgcluster: 651] Re: Clusterリカバリ中の更新クエリについて
mitani
mitani @ sraw.co.jp
2005年 1月 13日 (木) 14:34:55 JST
三谷@広島です。
> マスタDBとして2台用意しております。
PGClusterはマルチマスタですので、全てのクラスタDBがマスタになり得ます。
ただ、リカバリを実行する場合、レプリケーションサーバに登録されているクラスタDBのうち、先頭に記載されているものをリカバリのマスタとして扱っています。
添付頂いた設定ファイルですと、
> # Master
> <Cluster_Server_Info>
> <Host_Name> pgc01.postgresql.jp </Host_Name>
> <Port> 6432 </Port>
> <Recovery_Port> 7779 </Recovery_Port>
> </Cluster_Server_Info>
このクラスタDBがマスタになります。
リカバリ中にセッションを受け付けるためには、
ロードバランサからセッションを振り分けることができるクラスタDBが
3台以上必要です。
こんな感じではどうでしょうか?
Max_Connectを0にしているのが表から接続されないリカバリ用のマスタです。
----- pglb.conf --------------------
# Master
<Cluster_Server_Info>
<Host_Name> pgc01.postgresql.jp </Host_Name>
<Port> 6432 </Port>
<Max_Connect> 0 </Max_Connect>
</Cluster_Server_Info>
#
<Cluster_Server_Info>
<Host_Name> pgc02.postgresql.jp </Host_Name>
<Port> 6432 </Port>
<Max_Connect> 32 </Max_Connect>
</Cluster_Server_Info>
<Cluster_Server_Info>
<Host_Name> pgc01.postgresql.jp </Host_Name>
<Port> 7432 </Port>
<Max_Connect> 32 </Max_Connect>
</Cluster_Server_Info>
<Cluster_Server_Info>
<Host_Name> pgc02.postgresql.jp </Host_Name>
<Port> 7432 </Port>
<Max_Connect> 32 </Max_Connect>
</Cluster_Server_Info>
<Backend_Socket_Dir> /tmp </Backend_Socket_Dir>
<Receive_Port> 5432 </Receive_Port>
<Recovery_Port> 6001 </Recovery_Port>
<Max_Cluster_Num> 128 </Max_Cluster_Num>
<Use_Connection_Pooling> no </Use_Connection_Pooling>
---------------------------------
pgcluster メーリングリストの案内