[pgcluster: 775] pg_dump及びpg_restoreについて
nagaya
pgcluster@ml.postgresql.jp
Sat, 16 Apr 2005 17:54:18 +0900
はじめまして、長屋と申します。
現在、PGClusterの導入の為、動作テストを行っているのですが
pg_restoreおよびpg_dumpを実行するとレプリケーションサーバが反応しなくなります。
cluster01には正常にリストアされますが、cluster02には反映されません。
ロードバランサから実行しても同様でした。
insertやcreate文は正常です。後、リカバリも問題ありません。
以下に環境及び検証結果を示します。
どうか、ご教授の程よろしくお願いいたします。
------------
環境及び構成
------------
DELL PowerEdge 750 Pen4(2.8GHz)×2
Debian GNU/Linux 3.1
kernel 2.6.8(smpはOFFでコンパイル)
pgcluster-1.1.1a(※1.3.0cではpg_restoreのみ正常でした)
clusterDB×2 (cluster01,cluster02)
pgrp×1
pglb×1
-------
検 証
-------
cluster01にて
test=# \d test
Table "public.test"
Column | Type | Modifiers
-----------+------------------------+-----------------------------------------------------------
item_id | integer | not null default nextval('public.test_item_id_seq'::text)
user_id | character varying(128) |
career_id | character varying(32) |
test=# select * from test;
item_id | user_id | career_id
---------+---------+-----------
1 | aaa | aaaa
2 | bbb | bbbb
3 | ccc | cccc
(3 rows)
$ ./pg_dump -Ft -b test > test.tar ←※この時点でレプリケーションサーバが落ちます(ok. stop all child processes)
$ ./dropdb test
$ ./createdb test
$ ./pg_restore -d test test.tar
----------------------------------------------
レストア後のレプリケーションサーバのDEBUGログ
----------------------------------------------
DEBUG:replicate_loop():replicate_loop selected
DEBUG:PGRreplicate_packet_send():cmdSts=Q
DEBUG:PGRreplicate_packet_send():cmdType=T
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=15363
DEBUG:PGRreplicate_packet_send():from_host=mama01
DEBUG:PGRreplicate_packet_send():dbName=test
DEBUG:PGRreplicate_packet_send():userName=postgres
DEBUG:PGRreplicate_packet_send():recieve sec=1113607043
DEBUG:PGRreplicate_packet_send():recieve usec=276052
DEBUG:PGRreplicate_packet_send():query_size=30
DEBUG:PGRreplicate_packet_send():query=SET client_encoding = 'EUC_JP'
DEBUG:sem_lock[1]
DEBUG:PGRreturn_result():PGRreturn_result[3,1113607043,276052,1,1]
DEBUG:PGRreturn_result():status of PGRreturn_result[0]
DEBUG:pgr_createConn():PQsetdbLogin host[mama02.is.mediamagic.co.jp] port[5432]
db[test] user[postgres]
DEBUG:pgr_createConn():PQsetdbLogin ok
DEBUG:send_sync_data():sync_command(SELECT PGR_SYSTEM_COMMAND_FUNCTION(3,111360
7043,276052,1,1) )
DEBUG:sem_unlock[1]
DEBUG:replicate_loop():replicate_loop selected
DEBUG:replicate_loop():replicate_loop selected
DEBUG:PGRreplicate_packet_send():cmdSts=Q
DEBUG:PGRreplicate_packet_send():cmdType=T
DEBUG:PGRreplicate_packet_send():rlog=0
DEBUG:PGRreplicate_packet_send():request_id=2
DEBUG:PGRreplicate_packet_send():replicate_id=0
DEBUG:PGRreplicate_packet_send():port=5432
DEBUG:PGRreplicate_packet_send():pid=15363
DEBUG:PGRreplicate_packet_send():from_host=mama01
DEBUG:PGRreplicate_packet_send():dbName=test
DEBUG:PGRreplicate_packet_send():userName=postgres
DEBUG:PGRreplicate_packet_send():recieve sec=1113607043
DEBUG:PGRreplicate_packet_send():recieve usec=280022
DEBUG:PGRreplicate_packet_send():query_size=33
DEBUG:PGRreplicate_packet_send():query=SET check_function_bodies = false
DEBUG:sem_lock[1]
DEBUG:PGRreturn_result():PGRreturn_result[3,1113607043,280022,2,1]
DEBUG:PGRreturn_result():status of PGRreturn_result[0]
DEBUG:send_sync_data():sync_command(SELECT PGR_SYSTEM_COMMAND_FUNCTION(3,111360
7043,280022,2,1) )
DEBUG:sem_unlock[1]
DEBUG:replicate_loop():replicate_loop selected
DEBUG:replicate_loop():replicate_loop selected
DEBUG:PGRreplicate_packet_send():cmdSts=S
DEBUG:PGRreplicate_packet_send():cmdType=a
DEBUG:PGRreplicate_packet_send():rlog=0
DEBUG:PGRreplicate_packet_send():request_id=3
DEBUG:PGRreplicate_packet_send():replicate_id=0
DEBUG:PGRreplicate_packet_send():port=5432
DEBUG:PGRreplicate_packet_send():pid=15363
DEBUG:PGRreplicate_packet_send():from_host=mama01
DEBUG:PGRreplicate_packet_send():dbName=test
DEBUG:PGRreplicate_packet_send():userName=postgres
DEBUG:PGRreplicate_packet_send():recieve sec=1113607043
DEBUG:PGRreplicate_packet_send():recieve usec=281496
DEBUG:PGRreplicate_packet_send():query_size=36
DEBUG:PGRreplicate_packet_send():query=SET SESSION AUTHORIZATION 'postgres'
DEBUG:sem_lock[1]
DEBUG:PGRreturn_result():PGRreturn_result[]
DEBUG:PGRreturn_result():wait for answer
DEBUG:pgr_createConn():PQsetdbLogin host[mama02.is.mediamagic.co.jp] port[5432]
db[test] user[postgres]
DEBUG:answer[PGR_QUERY_DONE_NOTICE_CMD]
DEBUG:read_answer():QUERY DONE
DEBUG:PGRreturn_result():status of PGRreturn_result[0]
DEBUG:pgr_createConn():PQsetdbLogin ok
DEBUG:send_sync_data():sync_command(SELECT PGR_SYSTEM_COMMAND_FUNCTION(3,111360
7043,281496,2,1) )
DEBUG:sem_unlock[1]
DEBUG:replicate_loop():replicate_loop selected
DEBUG:PGRreplicate_packet_send():cmdSts=S
DEBUG:PGRreplicate_packet_send():cmdType=O
DEBUG:PGRreplicate_packet_send():rlog=0
DEBUG:PGRreplicate_packet_send():request_id=4
DEBUG:PGRreplicate_packet_send():replicate_id=0
DEBUG:PGRreplicate_packet_send():port=5432
DEBUG:PGRreplicate_packet_send():pid=15363
DEBUG:PGRreplicate_packet_send():from_host=mama01
DEBUG:PGRreplicate_packet_send():dbName=test
DEBUG:PGRreplicate_packet_send():userName=postgres
DEBUG:PGRreplicate_packet_send():recieve sec=1113607043
DEBUG:PGRreplicate_packet_send():recieve usec=285580
DEBUG:PGRreplicate_packet_send():query_size=39
DEBUG:PGRreplicate_packet_send():query=REVOKE ALL ON SCHEMA public FROM PUBLIC
DEBUG:sem_lock[1]
DEBUG:PGRreturn_result():PGRreturn_result[]
DEBUG:PGRreturn_result():wait for answer
DEBUG:send_sync_data():sync_command(SELECT PGR_SYSTEM_COMMAND_FUNCTION(3,111360
7043,285580,2,1) )
DEBUG:answer[PGR_QUERY_DONE_NOTICE_CMD]
DEBUG:read_answer():QUERY DONE
DEBUG:PGRreturn_result():status of PGRreturn_result[0]
DEBUG:sem_unlock[1]
DEBUG:replicate_loop():replicate_loop selected
DEBUG:PGRreplicate_packet_send():cmdSts=S
DEBUG:PGRreplicate_packet_send():cmdType=O
DEBUG:PGRreplicate_packet_send():rlog=0
DEBUG:PGRreplicate_packet_send():request_id=5
DEBUG:PGRreplicate_packet_send():replicate_id=0
DEBUG:PGRreplicate_packet_send():port=5432
DEBUG:PGRreplicate_packet_send():pid=15363
DEBUG:PGRreplicate_packet_send():from_host=mama01
DEBUG:PGRreplicate_packet_send():dbName=test
DEBUG:PGRreplicate_packet_send():userName=postgres
DEBUG:PGRreplicate_packet_send():recieve sec=1113607043
DEBUG:PGRreplicate_packet_send():recieve usec=297720
DEBUG:PGRreplicate_packet_send():query_size=36
DEBUG:PGRreplicate_packet_send():query=GRANT ALL ON SCHEMA public TO PUBLIC
DEBUG:sem_lock[1]
DEBUG:PGRreturn_result():PGRreturn_result[]
DEBUG:PGRreturn_result():wait for answer
DEBUG:send_sync_data():sync_command(SELECT PGR_SYSTEM_COMMAND_FUNCTION(3,111360
7043,297720,2,1) )
DEBUG:answer[PGR_QUERY_DONE_NOTICE_CMD]
DEBUG:read_answer():QUERY DONE
DEBUG:PGRreturn_result():status of PGRreturn_result[0]
DEBUG:sem_unlock[1]
DEBUG:replicate_loop():replicate_loop selected
DEBUG:PGRreplicate_packet_send():cmdSts=S
DEBUG:PGRreplicate_packet_send():cmdType=a
DEBUG:PGRreplicate_packet_send():rlog=0
DEBUG:PGRreplicate_packet_send():request_id=6
DEBUG:PGRreplicate_packet_send():replicate_id=0
DEBUG:PGRreplicate_packet_send():port=5432
DEBUG:PGRreplicate_packet_send():pid=15363
DEBUG:PGRreplicate_packet_send():from_host=mama01
DEBUG:PGRreplicate_packet_send():dbName=test
DEBUG:PGRreplicate_packet_send():userName=postgres
DEBUG:PGRreplicate_packet_send():recieve sec=1113607043
DEBUG:PGRreplicate_packet_send():recieve usec=299568
DEBUG:PGRreplicate_packet_send():query_size=36
DEBUG:PGRreplicate_packet_send():query=SET SESSION AUTHORIZATION 'postgres'
DEBUG:sem_lock[1]
DEBUG:PGRreturn_result():PGRreturn_result[]
DEBUG:PGRreturn_result():wait for answer
DEBUG:send_sync_data():sync_command(SELECT PGR_SYSTEM_COMMAND_FUNCTION(3,111360
7043,299568,2,1) )
DEBUG:answer[PGR_QUERY_DONE_NOTICE_CMD]
DEBUG:read_answer():QUERY DONE
DEBUG:PGRreturn_result():status of PGRreturn_result[0]
DEBUG:sem_unlock[1]
DEBUG:replicate_loop():replicate_loop selected
DEBUG:replicate_loop():replicate_loop selected
DEBUG:PGRreplicate_packet_send():cmdSts=S
DEBUG:PGRreplicate_packet_send():cmdType=O
DEBUG:PGRreplicate_packet_send():rlog=0
DEBUG:PGRreplicate_packet_send():request_id=7
DEBUG:PGRreplicate_packet_send():replicate_id=0
DEBUG:PGRreplicate_packet_send():port=5432
DEBUG:PGRreplicate_packet_send():pid=15363
DEBUG:PGRreplicate_packet_send():from_host=mama01
DEBUG:PGRreplicate_packet_send():dbName=test
DEBUG:PGRreplicate_packet_send():userName=postgres
DEBUG:PGRreplicate_packet_send():recieve sec=1113607043
DEBUG:PGRreplicate_packet_send():recieve usec=301108
DEBUG:PGRreplicate_packet_send():query_size=122
DEBUG:PGRreplicate_packet_send():query=CREATE TABLE test (
item_id serial NOT NULL,
user_id character varying(128),
career_id character varying(32)
)
DEBUG:sem_lock[1]
DEBUG:sem_lock[1]
DEBUG:PGRreturn_result():PGRreturn_result[]
DEBUG:PGRreturn_result():wait for answer
DEBUG:send_sync_data():sync_command(SELECT PGR_SYSTEM_COMMAND_FUNCTION(3,111360
7043,301108,2,1) )
NOTICE: CREATE TABLE will create implicit sequence "test_item_id_seq" for "ser
ial" column "test.item_id"
DEBUG:answer[PGR_QUERY_DONE_NOTICE_CMD]
DEBUG:read_answer():QUERY DONE
DEBUG:PGRreturn_result():status of PGRreturn_result[0]
DEBUG:sem_unlock[1]
DEBUG:replicate_loop():replicate_loop selected
DEBUG:PGRreplicate_packet_send():cmdSts=S
DEBUG:PGRreplicate_packet_send():cmdType=O
DEBUG:PGRreplicate_packet_send():rlog=0
DEBUG:PGRreplicate_packet_send():request_id=8
DEBUG:PGRreplicate_packet_send():replicate_id=0
DEBUG:PGRreplicate_packet_send():port=5432
DEBUG:PGRreplicate_packet_send():pid=15363
DEBUG:PGRreplicate_packet_send():from_host=mama01
DEBUG:PGRreplicate_packet_send():dbName=test
DEBUG:PGRreplicate_packet_send():userName=postgres
DEBUG:PGRreplicate_packet_send():recieve sec=1113607043
DEBUG:PGRreplicate_packet_send():recieve usec=320750
DEBUG:PGRreplicate_packet_send():query_size=98
DEBUG:PGRreplicate_packet_send():query=CREATE SEQUENCE id
START WITH 1
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
CACHE 1
DEBUG:sem_lock[1]
DEBUG:PGRreturn_result():PGRreturn_result[]
DEBUG:PGRreturn_result():wait for answer
DEBUG:send_sync_data():sync_command(SELECT PGR_SYSTEM_COMMAND_FUNCTION(3,111360
7043,320750,2,1) )
DEBUG:answer[PGR_QUERY_DONE_NOTICE_CMD]
DEBUG:read_answer():QUERY DONE
DEBUG:PGRreturn_result():status of PGRreturn_result[0]
DEBUG:sem_unlock[1]
DEBUG:replicate_loop():replicate_loop selected
DEBUG:PGRreplicate_packet_send():cmdSts=S
DEBUG:PGRreplicate_packet_send():cmdType=C
DEBUG:PGRreplicate_packet_send():rlog=0
DEBUG:PGRreplicate_packet_send():request_id=9
DEBUG:PGRreplicate_packet_send():replicate_id=0
DEBUG:PGRreplicate_packet_send():port=5432
DEBUG:PGRreplicate_packet_send():pid=15363
DEBUG:PGRreplicate_packet_send():from_host=mama01
DEBUG:PGRreplicate_packet_send():dbName=test
DEBUG:PGRreplicate_packet_send():userName=postgres
DEBUG:PGRreplicate_packet_send():recieve sec=1113607043
DEBUG:PGRreplicate_packet_send():recieve usec=345407
DEBUG:PGRreplicate_packet_send():query_size=50
DEBUG:PGRreplicate_packet_send():query=COPY test (item_id, user_id, career_id)
FROM stdin
DEBUG:sem_lock[1]
DEBUG:PGRreturn_result():PGRreturn_result[3,1113607043,345407,3,1]
DEBUG:PGRreturn_result():status of PGRreturn_result[0]
DEBUG:send_sync_data():sync_command(SELECT PGR_SYSTEM_COMMAND_FUNCTION(3,111360
7043,345407,3,1) )
DEBUG:sem_unlock[1]
DEBUG:replicate_loop():replicate_loop selected
DEBUG:PGRreplicate_packet_send():cmdSts=S
DEBUG:PGRreplicate_packet_send():cmdType=e
DEBUG:PGRreplicate_packet_send():rlog=0
DEBUG:PGRreplicate_packet_send():request_id=10
DEBUG:PGRreplicate_packet_send():replicate_id=0
DEBUG:PGRreplicate_packet_send():port=5432
DEBUG:PGRreplicate_packet_send():pid=15363
DEBUG:PGRreplicate_packet_send():from_host=mama01
DEBUG:PGRreplicate_packet_send():dbName=test
DEBUG:PGRreplicate_packet_send():userName=postgres
DEBUG:PGRreplicate_packet_send():recieve sec=1113607043
DEBUG:PGRreplicate_packet_send():recieve usec=347043
DEBUG:PGRreplicate_packet_send():query_size=36
DEBUG:PGRreplicate_packet_send():query=1 aaa aaaa
2 bbb bbbb
3 ccc cccc
\.
DEBUG:sem_lock[1]
DEBUG:PGRreturn_result():PGRreturn_result[]
DEBUG:PGRreturn_result():status of PGRreturn_result[0]
DEBUG:send_sync_data():sync_command(SELECT PGR_SYSTEM_COMMAND_FUNCTION(3,1113607043,347043,3,1) )
DEBUG:replicate_loop():replicate_loop selected
DEBUG:replicate_loop(): PGRread_packet failed query[(null)] cmdSys[]
DEBUG:replicate_loop():session closed
DEBUG:replicate_loop():replicate loop exit
----------------------------
レストア後のcluster01のログ
----------------------------
NOTICE: CREATE TABLE will create implicit sequence "test_item_id_seq" for "seial" column "test.item_id"
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "test_pkey" fortable "test"
ERROR: column reference "oid" is ambiguous
ERROR: column reference "oid" is ambiguous
ERROR: column "oid" does not exist
ERROR: column reference "oid" is ambiguous
ERROR: column reference "oid" is ambiguous
ERROR: column "oid" does not exist
ERROR: database "test" is being accessed by other users
NOTICE: CREATE TABLE will create implicit sequence "test_item_id_seq" for "seial" column "test.item_id"
ERROR: This query is not permitted when all replication servers fell down
----------------------------
リストア後のcluster02のログ
----------------------------
NOTICE: CREATE TABLE will create implicit sequence "test_item_id_seq" for "serial" column "test.item_id"
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "test_pkey" for table "test"
ERROR: relation "id" does not exist
ERROR: current transaction is aborted, commands ignored until end of transacti on block
ERROR: current transaction is aborted, commands ignored until end of transacti on block
ERROR: current transaction is aborted, commands ignored until end of transacti on block
ERROR: current transaction is aborted, commands ignored until end of transacti on block
ERROR: current transaction is aborted, commands ignored until end of transacti on block
ERROR: current transaction is aborted, commands ignored until end of transacti on block
ERROR: current transaction is aborted, commands ignored until end of transacti on block
ERROR: current transaction is aborted, commands ignored until end of transacti on block
ERROR: current transaction is aborted, commands ignored until end of transacti on block
ERROR: current transaction is aborted, commands ignored until end of transacti on block
ERROR: current transaction is aborted, commands ignored until end of transacti on block
ERROR: current transaction is aborted, commands ignored until end of transacti on block
LOG: unexpected EOF on client connection
LOG: unexpected EOF on client connection
LOG: unexpected EOF on client connection
ERROR: database "test" does not exist
NOTICE: CREATE TABLE will create implicit sequence "test_item_id_seq" for "serial" column "test.item_id"
ERROR: COPY from stdin failed: COPY terminated by new PQexec
CONTEXT: COPY test, line 1: ""
-----------
設定ファイル
-----------
-------------------------- pgreplicate.conf --------------------------
<Cluster_Server_Info>
<Host_Name> mama01.is.mediamagic.co.jp </Host_Name>
<Port> 5432 </Port>
<Recovery_Port> 7101 </Recovery_Port>
<LifeCheck_Port> 7201 </LifeCheck_Port>
</Cluster_Server_Info>
<Cluster_Server_Info>
<Host_Name> mama02.is.mediamagic.co.jp </Host_Name>
<Port> 5432 </Port>
<Recovery_Port> 7101 </Recovery_Port>
<LifeCheck_Port> 7201 </LifeCheck_Port>
</Cluster_Server_Info>
<Status_Log_File> /tmp/pgreplicate.sts </Status_Log_File>
<Error_Log_File> /tmp/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> no </Use_Replication_Log>
<Reserved_Connections> 1 </Reserved_Connections>
--------------------------------------------------------------------
---------------------------- cluster.conf ----------------------------
<Replicate_Server_Info>
<Host_Name> mama03.is.mediamagic.co.jp </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 -2 </Rsync_Option>
<When_Stand_Alone> read_only </When_Stand_Alone>
<Status_Log_File> /tmp/cluster.sts </Status_Log_File>
<Error_Log_File> /tmp/cluster.log </Error_Log_File>
--------------------------------------------------------------------
nagaya <nagaya@mediamagic.co.jp>