[pgcluster: 747] Re: psqlで更新すると、だんまりになります。

Shiro aoki @ flexpoint.co.jp
2005年 3月 15日 (火) 16:44:08 JST


お世話になります。
青木です。

設定ファイルなどは下記の通りです。

−Aサーバー−−クラスタDBのみ−−−−−−−−−−−−−−−−−−−−
−−−−

【postgresql.conの設定】
#---------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#---------------------------------------------------------------------------
# - Connection Settings -
listen_addresses = '*' # what IP interface(s) to listen on;
port = 5432
max_connections = 100

【pg_hba.conの設定】
# TYPE DATABASE USER CIDR-ADDRESS METHOD
local all all trust
host all all 127.0.0.1/32 trust
host all all 192.168.10.0/24 trust

【cluster.conの設定】
<Replicate_Server_Info>
<Host_Name> replication_1 </Host_Name>
<Port> 8001 </Port>
<Recovery_Port> 8101 </Recovery_Port>
<LifeCheck_Port> 8201 </LifeCheck_Port>
</Replicate_Server_Info>

<Recovery_Port> 7101 </Recovery_Port>
<LifeCheck_Port> 7201 </LifeCheck_Port>
<Rsync_Path> /usr/bin/rsync </Rsync_Path>
<Rsync_Option> ssh -1 </Rsync_Option>
<When_Stand_Alone> read_write </When_Stand_Alone>
<Status_Log_File> /tmp/1/cluster.sts </Status_Log_File>
<Error_Log_File> /tmp/1/cluster.log </Error_Log_File>

<Not_Replicate_Info>
<DB_Name> TESTDB </DB_Name>
<Table_Name> table_a </Table_Name>
</Not_Replicate_Info>
<Not_Replicate_Info>
<DB_Name> TESTDB </DB_Name>
<Table_Name> table_b </Table_Name>
</Not_Replicate_Info>

−Bサーバー−−クラスタDB+レプリケーション−−−−−−−−−−−−−
−−−−−−

【postgresql.conの設定】
#---------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#---------------------------------------------------------------------------
# - Connection Settings -
listen_addresses = '*' # what IP interface(s) to listen on;
port = 5432
max_connections = 100

【pg_hba.conの設定】
# TYPE DATABASE USER CIDR-ADDRESS METHOD
local all all trust
host all all 127.0.0.1/32 trust
host all all 192.168.10.0/24 trust

【cluster.conの設定】
<Replicate_Server_Info>
<Host_Name> replication_1 </Host_Name>
<Port> 8001 </Port>
<Recovery_Port> 8101 </Recovery_Port>
<LifeCheck_Port> 8201 </LifeCheck_Port>
</Replicate_Server_Info>

<Recovery_Port> 7101 </Recovery_Port>
<LifeCheck_Port> 7201 </LifeCheck_Port>
<Rsync_Path> /usr/bin/rsync </Rsync_Path>
<Rsync_Option> ssh -1 </Rsync_Option>
<When_Stand_Alone> read_write </When_Stand_Alone>
<Status_Log_File> /tmp/1/cluster.sts </Status_Log_File>
<Error_Log_File> /tmp/1/cluster.log </Error_Log_File>

<Not_Replicate_Info>
<DB_Name> TESTDB </DB_Name>
<Table_Name> table_a </Table_Name>
</Not_Replicate_Info>
<Not_Replicate_Info>
<DB_Name> TESTDB </DB_Name>
<Table_Name> table_b </Table_Name>
</Not_Replicate_Info>

【pgreplicate.conの設定】
<Cluster_Server_Info>
<Host_Name> master </Host_Name>
<Port> 5432 </Port>
<Recovery_Port> 7101 </Recovery_Port>
<LifeCheck_Port> 7201 </LifeCheck_Port>
</Cluster_Server_Info>
<Cluster_Server_Info>
<Host_Name> master_2 </Host_Name>
<Port> 5432 </Port>
<Recovery_Port> 7101 </Recovery_Port>
<LifeCheck_Port> 7201 </LifeCheck_Port>
</Cluster_Server_Info>

<Status_Log_File> /tmp/1/pgreplicate.sts </Status_Log_File>
<Error_Log_File> /tmp/1/pgreplicate.log </Error_Log_File>
<Replication_Port> 8001 </Replication_Port>
<Recovery_Port> 8101 </Recovery_Port>
<LifeCheck_Port> 8201 </LifeCheck_Port>
<RLOG_Port> 8301 </RLOG_Port>
<Response_Mode> normal </Response_Mode>
<Use_Replication_Log> yes </Use_Replication_Log>
<Reserved_Connections> 1 </Reserved_Connections>

【テーブル構成】
table_a,b,c共に
testa_a(b,c) int
name varchar
です。

【デバッグログ】
[postgres @ apsvr data]$ pgreplicate -D /usr/local/pgsql/data -nv
DEBUG:Use Replication Log. Start PGR_RLog_Main()
addr.sun_path[/usr/local/pgsql/data/.s.PGRLOG.8301]
Replicateion_Log->RLog_Sock_Path[/usr/local/pgsql/data/.s.PGRLOG.8301]
DEBUG:replicate_main():replicate main 8001 port bind OK
DEBUG:PGRreplicate_packet_send():cmdSts=N
DEBUG:PGRreplicate_packet_send():cmdType=
DEBUG:PGRreplicate_packet_send():rlog=0
DEBUG:PGRreplicate_packet_send():request_id=0
DEBUG:PGRreplicate_packet_send():replicate_id=0
DEBUG:PGRreplicate_packet_send():port=0
DEBUG:PGRreplicate_packet_send():pid=0
DEBUG:PGRreplicate_packet_send():from_host=apsvr
DEBUG:PGRreplicate_packet_send():dbName=template1
DEBUG:PGRreplicate_packet_send():userName=postgres
DEBUG:PGRreplicate_packet_send():recieve sec=0
DEBUG:PGRreplicate_packet_send():recieve usec=0
DEBUG:PGRreplicate_packet_send():query_size=63
DEBUG:PGRreplicate_packet_send():query=SELECT
PGR_SYSTEM_COMMAND_FUNCTION(1,'apsvr',8001,8101,8201)
DEBUG:sem_lock[1]
DEBUG:pgr_createConn():PQsetdbLogin host[master] port[5432]
db[template1] user[postgres]
DEBUG:pgr_createConn():PQsetdbLogin host[master_2] port[5432]
db[template1] user[postgres]
DEBUG:pgr_createConn():PQsetdbLogin ok
DEBUG:pgr_createConn():PQsetdbLogin ok
DEBUG:sem_unlock[1]
DEBUG:replicate_loop():replicate_loop selected
DEBUG:PGRreplicate_packet_send():cmdSts=Q
DEBUG:PGRreplicate_packet_send():cmdType=U
DEBUG:PGRreplicate_packet_send():rlog=0
DEBUG:PGRreplicate_packet_send():request_id=1
DEBUG:PGRreplicate_packet_send():replicate_id=0
DEBUG:PGRreplicate_packet_send():port=5432
DEBUG:PGRreplicate_packet_send():pid=3361
DEBUG:PGRreplicate_packet_send():from_host=apsvr
DEBUG:PGRreplicate_packet_send():dbName=TESTDB
DEBUG:PGRreplicate_packet_send():userName=postgres
DEBUG:PGRreplicate_packet_send():recieve sec=1110830626
DEBUG:PGRreplicate_packet_send():recieve usec=985414
DEBUG:PGRreplicate_packet_send():query_size=64
DEBUG:PGRreplicate_packet_send():query=update table_c set name =
'RepTest!!!!' where testc_id = 9999

DEBUG:sem_lock[1]
DEBUG:PGRsend_lower_cascade():there is no lower cascaded server
DEBUG:PGRset_rlog():PGRsend_lower_cascade failed
DEBUG:PGRwrite_rlog():set_query_log
DEBUG:pgr_createConn():PQsetdbLogin host[master] port[5432] db[TESTDB]
user[postgres]
DEBUG:pgr_createConn():PQsetdbLogin host[master_2] port[5432] db[TESTDB]
user[postgres]
DEBUG:pgr_createConn():PQsetdbLogin ok
DEBUG:send_sync_data():sync_command(SELECT
PGR_SYSTEM_COMMAND_FUNCTION(3,1110830626,985414,1,1) )
DEBUG:pgr_createConn():PQsetdbLogin ok
DEBUG:send_sync_data():sync_command(SELECT
PGR_SYSTEM_COMMAND_FUNCTION(3,1110830626,985414,1,1) )
DEBUG:PGRsend_lower_cascade():there is no lower cascaded server
DEBUG:PGRwrite_rlog():delete_query_log
DEBUG:sem_unlock[1]
DEBUG:use[2] host[master] port[5432] life[7201] rec[1]
DEBUG:use[2] host[master_2] port[5432] life[7201] rec[2]

以上になります。
よろしくお願いします。

mitani wrote:

>三谷@広島です.
>
>  
>
>>insertしたデータは正常にレプリケーションされていますが、
>>insert文を発行したpsqlに応答が帰ってきません。
>>対処方法について、どなたか、ご存知でしたら、
>>ご教授頂きます様、お願いします。
>>    
>>
>各サーバの設定,テーブル構成,投げたクエリー,レプリケーションサーバのデ
>バッグメッセージ等を教えてください.
>
>=============================
>STATUS:Windows対応調査中...
>三谷 篤<mitani @ sraw.co.jp>
>=============================
>
>
>
>
>  
>





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