[pgcluster: 629] Clusterリカバリ中の更新クエリについて

Chikahisa Yabuzuka yabuzuka @ cseltd.co.jp
2005年 1月 6日 (木) 14:39:41 JST


お世話になっております。
薮塚です。

2台のホストマシンを用意して、それぞれに
ロードバランサ×1、Cluster×2、Replicater×1
を稼動させた環境を構築しました。
動作環境は

RedHat Linux Enterprise Server AS 3.0
pgcluster-1.0.8

です。


1台のマシンのClusterを停止させ、リカバリ起動ができるかを検証しているのです
が、
リカバリ中に更新クエリが実行できなくて難儀しております。
更新クエリはpsqlでロードバランサ経由でログインして実行しているのですが、

WARNING:  This query is not permitted while recovery db

とメッセージが出力され、更新クエリは受け付けられない状態です。
Clusterが3台以上あればリカバリ中も更新クエリを受け付けることが可能である、
とありますが、うまくいきません。
設定が間違っているのでしょうか?
ご指摘いただければ幸いです。
よろしくお願いいたします。


##### cluster.conf #####
<Replicate_Server_Info>
        <Host_Name>     pgc01 </Host_Name>
        <Port>          8001  </Port>
        <Recovery_Port> 8101  </Recovery_Port>
</Replicate_Server_Info>
<Replicate_Server_Info>
        <Host_Name>     pgc02 </Host_Name>
        <Port>          8001  </Port>
        <Recovery_Port> 8101  </Recovery_Port>
</Replicate_Server_Info>

<Recovery_Port> 7779 </Recovery_Port>
<Rsync_Path> /usr/bin/rsync </Rsync_Path>
<Rsync_Option> ssh -2 </Rsync_Option>
<When_Stand_Alone> read_only  </When_Stand_Alone>


##### pglb.conf #####
<Cluster_Server_Info>
    <Host_Name>   pgc01 </Host_Name>
    <Port>        6432  </Port>
    <Max_Connect> 32    </Max_Connect>
</Cluster_Server_Info>
<Cluster_Server_Info>
    <Host_Name>   pgc01 </Host_Name>
    <Port>        7432  </Port>
    <Max_Connect> 32    </Max_Connect>
</Cluster_Server_Info>
<Cluster_Server_Info>
    <Host_Name>   pgc02 </Host_Name>
    <Port>        6432  </Port>
    <Max_Connect> 32    </Max_Connect>
</Cluster_Server_Info>
<Cluster_Server_Info>
    <Host_Name>   pgc02 </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>


##### pgreplicate.conf #####
<Cluster_Server_Info>
    <Host_Name>       pgc01   </Host_Name>
    <Port>            6432    </Port>
    <Recovery_Port>   7779    </Recovery_Port>
</Cluster_Server_Info>
<Cluster_Server_Info>
    <Host_Name>       pgc01   </Host_Name>
    <Port>            7432    </Port>
    <Recovery_Port>   7789    </Recovery_Port>
</Cluster_Server_Info>
<Cluster_Server_Info>
    <Host_Name>       pgc02   </Host_Name>
    <Port>            6432    </Port>
    <Recovery_Port>   7779    </Recovery_Port>
</Cluster_Server_Info>
<Cluster_Server_Info>
    <Host_Name>       pgc02   </Host_Name>
    <Port>            7432    </Port>
    <Recovery_Port>   7789    </Recovery_Port>
</Cluster_Server_Info>

<LoadBalance_Server_Info>
        <Host_Name>     pgc01 </Host_Name>
        <Recovery_Port> 6001  </Recovery_Port>
</LoadBalance_Server_Info>
<LoadBalance_Server_Info>
        <Host_Name>     pgc02 </Host_Name>
        <Recovery_Port> 6001  </Recovery_Port>
</LoadBalance_Server_Info>

<Replication_Port>    8001            </Replication_Port>
<Recovery_Port>       8101            </Recovery_Port>
<Response_Mode>       normal          </Response_Mode>






pgcluster メーリングリストの案内