[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 メーリングリストの案内