FATAL: requested WAL * segment has already been removed
FATAL: requested WAL *** segment has already been removed
浠婂ぉpg涓诲簱鍑轰簡涓€鐐归棶棰橈紝澶囧簱涓嶅悓姝ワ紝鍚庡彴鎶ラ敊
FATAL: requested WAL segment 000000030000000000000047 has already been removed
鏌愪竴涓獁al鏃ュ織琚Щ璧?
绗竴娆″嚭鐜拌繖绉嶆儏鍐电殑鏃跺€欙紝涓诲簱娌″紑褰掓。锛屾墍浠ュ彧濂介噸鏂版惌寤哄搴?
杩欐锛屼富搴撳紑浜嗗綊妗o紝鎵€浠ョ洿鎺ュ埌褰掓。鐩綍鍘绘壘杩欎釜鏂囦欢鍗冲彲
涓昏妭鐐规煡鐪媝g_current_xlog_location();wal鍐欏叆姝e父銆?
澶囪妭鐐规煡鐪媠elect pg_last_xlog_receive_location();鍊兼病鏈夊彉鍖栵紝宸茬粡涓嶄粠涓昏妭鐐瑰悓姝ャ€?
褰掓。鐨勫弬鏁拌缃細
涓诲簱閰嶇疆 postgresql.conf
archive_mode = on
archive_command = 'cp %p /pg/data/backup/archived_log/%f'
澶囧簱閰嶇疆 recover.config
restore_command='cp /pg/data/backup/archived_log/%f %p'
1锛夊鏋滄湁褰掓。锛屽彲浠ョ敤涓昏妭鐐圭殑褰掓。鏉ユ仮澶嶅鑺傜偣銆?
cd /pg/data/backup/archived_log
ll 000000030000000000000047 鎵惧埌浜嗚繖涓棩蹇?
2014-09-05 06:15:41.592 UTC,,,25007,,5409550d.61af,2,,2014-09-05 06:15:41 UTC,,0,FATAL,XX000,"could not receive data
from WAL stream: FATAL: requested WAL segment 000000030000000000000047 has already been removed
灏嗕富搴撳綊妗g洰褰曚笅鐨勬棩蹇椾紶鍒板搴撶殑鏃ュ織鐩綍涓嬮潰
[root@localhost archived_log]# scp 000000030000000000000048 root@192.168.10.175:/pg/data/pg_xlog/
root@192.168.10.175's password:
000000030000000000000048 100% 16MB 5.3MB/s 00:03
2锛夊鏋滄病褰掓。
娌″姙娉曞彧鑳介噸寤哄鑺傜偣
绗?绉嶆柟娉曪細
閲嶆柊鎼缓
鍥犱负寰堝鍐呭閮芥槸涔嬪墠閰嶇疆濂界殑锛屽洜姝よ鍋氱殑鍙湁鍑犳:
1銆佸仠涓嬬幇鏈夌殑澶囧簱
pg_ctl -D /pg/data stop
2銆佸紑鍚富搴撶殑澶囦唤鐘舵€?
postgres=# select pg_start_backup('/tmp/backup');
pg_start_backup
-----------------
0/64000020
--绐楀彛涓嶈閫€鍑?
3銆佹妸涓绘暟鎹簱鐩綍鎷疯礉鍒板搴撶洰褰曞氨鍙互浜嗭細
tar -zcvf data.tar.gz data
sudo scp data.tar.gz root@192.168.10.175:/pg
rm -fr data --鍒犻櫎鍘熸潵鐨刣ata鐩綍
tar -zxvf data.tar.gz
--鍒犳帀浠庝富搴撴嫹璐濊繃鏉ョ殑postmaster.pid
4銆佷慨鏀箁ecovery.conf
/pg/share/postgresql
[postgres@localhost postgresql]$ cp recovery.conf.sample /pg/data
[postgres@localhost postgresql]$ mv /pg/data/recovery.conf.sample /pg/data/recovery.conf --鍘绘壘涓€涓ā鏉胯繃鏉ヤ慨鏀?
vi /pg/data/recovery.conf
standby_mode = on
primary_conninfo = 'host=192.168.10.173 port=5432 user=postgres password=tina' # e.g. 'host=localhost port=5432'
trigger_file = '/tmp/pg.trigger.456' --涓诲鍒囨崲鐨勬椂鍊欐湁鐢?
restore_command='cp /pg/data/backup/archived_log/%f %p'
5銆佸仠涓嬩富搴撳浠?
postgres=# select pg_stop_backup();
NOTICE: pg_stop_backup complete, all required WAL segments have been archived
pg_stop_backup
----------------
0/640001F8
6銆佸惎鍔ㄥ搴?
pg_ctl -D /pg/data start
鎼炲畾锛屼富澶囧悓姝?
---------
娉ㄦ剰锛?
wal_level=hot_standby
wal_keep_segments=1024
max_wal_sender=1 ---闄愬埗澶囧簱涓暟涓?
鑰岃嚜宸卞畾涔夌殑/pg/pg_log1鏄褰曟暟鎹簱鐨勬墍鏈夋搷浣滃拰鎶ラ敊
logging_collector = on
log_directory = '/pg/pg_log1'
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_rotation_age = 1d
log_rotation_size = 10MB
postgresql-2014-09-05_061148.log --绫讳技杩欑鏍煎紡
绗?涓紝浣跨敤pg_basebackup鍦ㄧ嚎鎼缓浠庡簱
1.鍏抽棴鏁版嵁搴損g_ctl stop -D $PGDATA
2.澶囦唤浜唒ostgresql.conf pg_hba.conf锛宺ecovery.conf涓変釜鏂囦欢锛岀劧鍚庢竻鐞?PGDATA涓嬮潰鐨勬墍鏈夋暟鎹? ~/.pgpass淇濇寔鍘熸潵鐨勪笉闇€瑕佷慨鏀?
3.娓呯悊鐩稿叧琛ㄧ┖闂寸洰褰?
4.閫氳繃pg_basebackup浠庝富搴撳鍒舵暟鎹?
pg_basebackup -D /data01/pgdata/browser/pg_root -Fp -Xs -v -P -h 192.168.xxx.xxx -p 1921 -U replica锛屽ぇ姒傝姳浜?涓灏忔椂 瀹屾垚鏁版嵁澶嶅埗銆?
5.澶嶅埗瀹屾垚鍚庯紝灏嗗浠界殑postgresql.conf pg_hba.conf锛宺ecovery.conf涓変釜鏂囦欢澶嶅埗鍒?PGDATA涓?
6.鍚姩澶囧簱pg_ctl start -D $PGDATA
3锛夊搴撻噸寤哄悗妫€鏌ワ細
1.妫€鏌ユ棩蹇楋紝浠ュ強鐩稿叧wal杩涚▼銆俻s -elf | grep wal | grep -v grep
2.妫€鏌ュ鑺傜偣select pg_last_xlog_receive_location();锛屽凡缁忓彲浠ュ彉鍖栬鏄庡湪浠庝富鑺傜偣澶嶅埗鍚屾
3.涓昏妭鐐规柊寤鸿〃锛屾彃鍏ユ暟鎹紝鏌ョ湅澶囪妭鐐规槸鍚﹀悓姝ユ垚鍔熴€?/span>
浠婂ぉpg涓诲簱鍑轰簡涓€鐐归棶棰橈紝澶囧簱涓嶅悓姝ワ紝鍚庡彴鎶ラ敊
FATAL: requested WAL segment 000000030000000000000047 has already been removed
鏌愪竴涓獁al鏃ュ織琚Щ璧?
绗竴娆″嚭鐜拌繖绉嶆儏鍐电殑鏃跺€欙紝涓诲簱娌″紑褰掓。锛屾墍浠ュ彧濂介噸鏂版惌寤哄搴?
杩欐锛屼富搴撳紑浜嗗綊妗o紝鎵€浠ョ洿鎺ュ埌褰掓。鐩綍鍘绘壘杩欎釜鏂囦欢鍗冲彲
涓昏妭鐐规煡鐪媝g_current_xlog_location();wal鍐欏叆姝e父銆?
澶囪妭鐐规煡鐪媠elect pg_last_xlog_receive_location();鍊兼病鏈夊彉鍖栵紝宸茬粡涓嶄粠涓昏妭鐐瑰悓姝ャ€?
褰掓。鐨勫弬鏁拌缃細
涓诲簱閰嶇疆 postgresql.conf
archive_mode = on
archive_command = 'cp %p /pg/data/backup/archived_log/%f'
澶囧簱閰嶇疆 recover.config
restore_command='cp /pg/data/backup/archived_log/%f %p'
1锛夊鏋滄湁褰掓。锛屽彲浠ョ敤涓昏妭鐐圭殑褰掓。鏉ユ仮澶嶅鑺傜偣銆?
cd /pg/data/backup/archived_log
ll 000000030000000000000047 鎵惧埌浜嗚繖涓棩蹇?
2014-09-05 06:15:41.592 UTC,,,25007,,5409550d.61af,2,,2014-09-05 06:15:41 UTC,,0,FATAL,XX000,"could not receive data
from WAL stream: FATAL: requested WAL segment 000000030000000000000047 has already been removed
灏嗕富搴撳綊妗g洰褰曚笅鐨勬棩蹇椾紶鍒板搴撶殑鏃ュ織鐩綍涓嬮潰
[root@localhost archived_log]# scp 000000030000000000000048 root@192.168.10.175:/pg/data/pg_xlog/
root@192.168.10.175's password:
000000030000000000000048 100% 16MB 5.3MB/s 00:03
2锛夊鏋滄病褰掓。
娌″姙娉曞彧鑳介噸寤哄鑺傜偣
绗?绉嶆柟娉曪細
閲嶆柊鎼缓
鍥犱负寰堝鍐呭閮芥槸涔嬪墠閰嶇疆濂界殑锛屽洜姝よ鍋氱殑鍙湁鍑犳:
1銆佸仠涓嬬幇鏈夌殑澶囧簱
pg_ctl -D /pg/data stop
2銆佸紑鍚富搴撶殑澶囦唤鐘舵€?
postgres=# select pg_start_backup('/tmp/backup');
pg_start_backup
-----------------
0/64000020
--绐楀彛涓嶈閫€鍑?
3銆佹妸涓绘暟鎹簱鐩綍鎷疯礉鍒板搴撶洰褰曞氨鍙互浜嗭細
tar -zcvf data.tar.gz data
sudo scp data.tar.gz root@192.168.10.175:/pg
rm -fr data --鍒犻櫎鍘熸潵鐨刣ata鐩綍
tar -zxvf data.tar.gz
--鍒犳帀浠庝富搴撴嫹璐濊繃鏉ョ殑postmaster.pid
4銆佷慨鏀箁ecovery.conf
/pg/share/postgresql
[postgres@localhost postgresql]$ cp recovery.conf.sample /pg/data
[postgres@localhost postgresql]$ mv /pg/data/recovery.conf.sample /pg/data/recovery.conf --鍘绘壘涓€涓ā鏉胯繃鏉ヤ慨鏀?
vi /pg/data/recovery.conf
standby_mode = on
primary_conninfo = 'host=192.168.10.173 port=5432 user=postgres password=tina' # e.g. 'host=localhost port=5432'
trigger_file = '/tmp/pg.trigger.456' --涓诲鍒囨崲鐨勬椂鍊欐湁鐢?
restore_command='cp /pg/data/backup/archived_log/%f %p'
5銆佸仠涓嬩富搴撳浠?
postgres=# select pg_stop_backup();
NOTICE: pg_stop_backup complete, all required WAL segments have been archived
pg_stop_backup
----------------
0/640001F8
6銆佸惎鍔ㄥ搴?
pg_ctl -D /pg/data start
鎼炲畾锛屼富澶囧悓姝?
---------
娉ㄦ剰锛?
wal_level=hot_standby
wal_keep_segments=1024
max_wal_sender=1 ---闄愬埗澶囧簱涓暟涓?
鑰岃嚜宸卞畾涔夌殑/pg/pg_log1鏄褰曟暟鎹簱鐨勬墍鏈夋搷浣滃拰鎶ラ敊
logging_collector = on
log_directory = '/pg/pg_log1'
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_rotation_age = 1d
log_rotation_size = 10MB
postgresql-2014-09-05_061148.log --绫讳技杩欑鏍煎紡
绗?涓紝浣跨敤pg_basebackup鍦ㄧ嚎鎼缓浠庡簱
1.鍏抽棴鏁版嵁搴損g_ctl stop -D $PGDATA
2.澶囦唤浜唒ostgresql.conf pg_hba.conf锛宺ecovery.conf涓変釜鏂囦欢锛岀劧鍚庢竻鐞?PGDATA涓嬮潰鐨勬墍鏈夋暟鎹? ~/.pgpass淇濇寔鍘熸潵鐨勪笉闇€瑕佷慨鏀?
3.娓呯悊鐩稿叧琛ㄧ┖闂寸洰褰?
4.閫氳繃pg_basebackup浠庝富搴撳鍒舵暟鎹?
pg_basebackup -D /data01/pgdata/browser/pg_root -Fp -Xs -v -P -h 192.168.xxx.xxx -p 1921 -U replica锛屽ぇ姒傝姳浜?涓灏忔椂 瀹屾垚鏁版嵁澶嶅埗銆?
5.澶嶅埗瀹屾垚鍚庯紝灏嗗浠界殑postgresql.conf pg_hba.conf锛宺ecovery.conf涓変釜鏂囦欢澶嶅埗鍒?PGDATA涓?
6.鍚姩澶囧簱pg_ctl start -D $PGDATA
3锛夊搴撻噸寤哄悗妫€鏌ワ細
1.妫€鏌ユ棩蹇楋紝浠ュ強鐩稿叧wal杩涚▼銆俻s -elf | grep wal | grep -v grep
2.妫€鏌ュ鑺傜偣select pg_last_xlog_receive_location();锛屽凡缁忓彲浠ュ彉鍖栬鏄庡湪浠庝富鑺傜偣澶嶅埗鍚屾
3.涓昏妭鐐规柊寤鸿〃锛屾彃鍏ユ暟鎹紝鏌ョ湅澶囪妭鐐规槸鍚﹀悓姝ユ垚鍔熴€?/span>