美創(chuàng)科技運維日記|postgresql-pg簡易異步流復(fù)制搭建
流復(fù)制是postgresql非常重要并且非常好用的高可用架構(gòu)。本片文章小編就來帶大家簡單的做一個pg流復(fù)制的安裝。
流復(fù)制是PostgreSQL 9.0之后才提供的新的傳遞WAL日志的方法。通過流復(fù)制,備庫不斷的從主庫同步相應(yīng)的數(shù)據(jù),并在備庫apply每個WAL record,這里的流復(fù)制每次傳輸單位是WAL日志的record。就如oracle的dataguard技術(shù)一樣,pg的流復(fù)制也是按照同步模式的不同,分為同步流復(fù)制和異步流復(fù)制。同步流復(fù)制雖然能在主庫壞掉時確保數(shù)據(jù)的一致,但是當(dāng)網(wǎng)絡(luò)或者備庫有問題的時候,會導(dǎo)致主庫事務(wù)hang住。異步流復(fù)制則沒有這樣的缺點,不會影響生產(chǎn)庫的性能,但是在主庫壞掉的時候,可能會丟掉一小部分數(shù)據(jù)。
pg的流復(fù)制安裝非常的簡單,如下配置完成后,就可以做到,如下版本是pg11在rhel7的配置,注意,需要提前在兩邊服務(wù)器上建好同一個版本的pg服務(wù):
01主庫操作
1.1創(chuàng)建復(fù)制用戶作為主從同步使用
postgres=# create role repl login replication encrypted password '123456';
CREATE ROLE
1.2 修改pg_hba.conf文件
主庫
host all all 192.168.0.0/24 md5
host replication repl 192.168.0.52/24 md5
第一行 #允許XX這個從服務(wù)器連接到主服務(wù)器
第二行 #允許使用replica用戶來復(fù)制,第二個字段必須要填repl (上一步添加的用戶)
#psql
psql> select pg_reload_conf();#生效
1.3 修改postgresql.conf
listen_addresses = '*' #這個一般安裝服務(wù)器之后都會進行配置,檢查下
wal_level=replica #默認replica,不動
wal_keep_segments= 256 #設(shè)置流復(fù)制保留的最多的xlog數(shù)目
#重啟pg服務(wù)生效。
#只有l(wèi)isten_address改變需要重啟,否則select pg_reload_conf() 即可。
pg_ctl stop –D $PGDATA
pg_ctl start –D $PGDATA
1.4 在從庫測試連接是否成功
psql -h(huán) 192.168.0.51 -p 5432 -U postgres
02備庫操作
2.1 停止pg服務(wù),清空data目錄
[postgres@apple-standby ~]$ echo $PGDATA
/data/pg11.5/data
[postgres@apple-standby data]$ rm -rf /data/pg11.5/data
2.2 從主節(jié)點拷貝數(shù)據(jù)到從節(jié)點
$ pg_basebackup -h(huán) 192.168.0.51 -U repl -D /data/pg11.5/data -X stream -P
could not identify current directory: No such file or directory
Password:
45238/45238 kB (100%), 1/1 tablespace
2.3 配置recovery.conf
cd $PGHOME(軟件安裝目錄)
cp share/recovery.conf.sample $PGDATA/recovery.conf
vi recovery.conf
standby_mode = on
primary_conninfo = 'host=192.168.0.51 port=5432 user=repl password=123456'
recovery_target_timeline = 'latest'
###
primary_conninfo 主服務(wù)器的信息以及連接的用戶
standby_mode = on # 說明該節(jié)點是從服務(wù)器
recovery_target_timeline #指定恢復(fù)到特定時間軸。默認設(shè)置是沿著執(zhí)行基本備份時的當(dāng)前時間線恢復(fù)。將此設(shè)置為 latest 將恢復(fù)到存檔中找到的最新時間軸

請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
圖片新聞