時(shí)間:2024-03-13 13:56作者:下載吧人氣:26
本文測(cè)試參考PostgresSQL實(shí)戰(zhàn)一書(shū)。
主庫(kù)IP:192.168.40.130 主機(jī)名:postgres 端口:5442
備庫(kù)IP: 192.168.40.131 主機(jī)名:postgreshot 端口:5442
PostgreSQL9.0版本流復(fù)制主備切換只能通過(guò)創(chuàng)建觸發(fā)文件方式進(jìn)行,這一小節(jié)將介紹這種主備切換方式,測(cè)試環(huán)境為一主一備異步流復(fù)制環(huán)境,postgres上的數(shù)據(jù)庫(kù)為主庫(kù),postgreshot上的數(shù)據(jù)庫(kù)為備庫(kù),文件觸發(fā)方式的手工主備切換主要步驟如下:
1)配置備庫(kù)recovery.conf文件trigger_file參數(shù),設(shè)置激活備庫(kù)的觸發(fā)文件路徑和名稱(chēng)。
2)關(guān)閉主庫(kù),建議使用-m fast模式關(guān)閉。
3)在備庫(kù)上創(chuàng)建觸發(fā)文件激活備庫(kù),如果recovery.conf變成recovery.done表示備庫(kù)已經(jīng)切換成主庫(kù)。
4)這時(shí)需要將老的主庫(kù)切換成備庫(kù),在老的主庫(kù)的$PGDATA目錄下創(chuàng)建recovery.conf文件(如果此目錄下不存在recovery.conf文件,可以根據(jù)$PGHOME/share/recovery.conf.sample模板文件復(fù)制一個(gè),如果此目錄下存在recovery.done文件,需將recovery.done文件重命名為recovery.conf),配置和老的從庫(kù)一樣,只是primary_conninfo參數(shù)中的IP換成對(duì)端IP。
5)啟動(dòng)老的主庫(kù),這時(shí)觀察主、備進(jìn)程是否正常,如果正常表示主備切換成功。
1、首先在備庫(kù)上配置recovery.conf,如下所示:
[postgres@postgreshot pg11]$ cat recovery.conf | grep -v ‘^#’
recovery_target_timeline = ‘latest’
standby_mode = on
primary_conninfo = ‘host=192.168.40.130 port=5442 user=replica application_name=pg1’ # e.g. ‘host=localhost port=5432’
trigger_file = ‘/home/postgres/pg11/trigger’
[postgres@postgreshot pg11]$
網(wǎng)友評(píng)論