美創(chuàng)科技運維日記|postgresql-pg簡易異步流復制搭建
流復制是postgresql非常重要并且非常好用的高可用架構。本片文章小編就來帶大家簡單的做一個pg流復制的安裝。
流復制是PostgreSQL 9.0之后才提供的新的傳遞WAL日志的方法。通過流復制,備庫不斷的從主庫同步相應的數據,并在備庫apply每個WAL record,這里的流復制每次傳輸單位是WAL日志的record。就如oracle的dataguard技術一樣,pg的流復制也是按照同步模式的不同,分為同步流復制和異步流復制。同步流復制雖然能在主庫壞掉時確保數據的一致,但是當網絡或者備庫有問題的時候,會導致主庫事務hang住。異步流復制則沒有這樣的缺點,不會影響生產庫的性能,但是在主庫壞掉的時候,可能會丟掉一小部分數據。
pg的流復制安裝非常的簡單,如下配置完成后,就可以做到,如下版本是pg11在rhel7的配置,注意,需要提前在兩邊服務器上建好同一個版本的pg服務:
01主庫操作
1.1創(chuàng)建復制用戶作為主從同步使用
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這個從服務器連接到主服務器
第二行 #允許使用replica用戶來復制,第二個字段必須要填repl (上一步添加的用戶)
#psql
psql> select pg_reload_conf();#生效
1.3 修改postgresql.conf
listen_addresses = '*' #這個一般安裝服務器之后都會進行配置,檢查下
wal_level=replica #默認replica,不動
wal_keep_segments= 256 #設置流復制保留的最多的xlog數目
#重啟pg服務生效。
#只有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服務,清空data目錄
[postgres@apple-standby ~]$ echo $PGDATA
/data/pg11.5/data
[postgres@apple-standby data]$ rm -rf /data/pg11.5/data
2.2 從主節(jié)點拷貝數據到從節(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 主服務器的信息以及連接的用戶
standby_mode = on # 說明該節(jié)點是從服務器
recovery_target_timeline #指定恢復到特定時間軸。默認設置是沿著執(zhí)行基本備份時的當前時間線恢復。將此設置為 latest 將恢復到存檔中找到的最新時間軸
請輸入評論內容...
請輸入評論/評論長度6~500個字
圖片新聞
最新活動更多
- 高級軟件工程師 廣東省/深圳市
- 自動化高級工程師 廣東省/深圳市
- 光器件研發(fā)工程師 福建省/福州市
- 銷售總監(jiān)(光器件) 北京市/海淀區(qū)
- 激光器高級銷售經理 上海市/虹口區(qū)
- 光器件物理工程師 北京市/海淀區(qū)
- 激光研發(fā)工程師 北京市/昌平區(qū)
- 技術專家 廣東省/江門市
- 封裝工程師 北京市/海淀區(qū)
- 結構工程師 廣東省/深圳市