美創科技運維日記|postgresql-pg簡易非同步流複製搭建

資料安全發表於2020-07-29

流複製是postgresql非常重要並且非常好用的高可用架構。本篇文章小編就來帶大家簡單的做一個pg流複製的安裝。

流複製是PostgreSQL 9.0之後才提供的新的傳遞WAL日誌的方法。透過流複製,備庫不斷的從主庫同步相應的資料,並在備庫apply每個WAL record,這裡的流複製每次傳輸單位是WAL日誌的record。就如 的dataguard技術一樣,pg的流複製也是按照同步模式的不同,分為同步流複製和非同步流複製。同步流複製雖然能在主庫壞掉時確保資料的一致,但是當網路或者備庫有問題的時候,會導致主庫事務hang住。非同步流複製則沒有這樣的缺點,不會影響生產庫的效能,但是在主庫壞掉的時候,可能會丟掉一小部分資料。

pg的流複製安裝非常的簡單,如下配置完成後,就可以做到,如下版本是pg11在rhel7的配置,注意,需要提前在兩邊伺服器上建好同一個版本的pg服務:

美創科技運維日記|postgresql-pg簡易非同步流複製搭建

01主庫操作

1.1建立複製使用者作為主從同步使用

postgres=# create role repl login replication encrypted password '123456';

CREATE ROLE

1.2修改pg_hba.conf檔案

主庫

host  allall192.168.0.0/ 24md5

host  replication   repl192.168.0.52/24md5

第一行#允許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服務生效。

#只有listen_address改變需要重啟,否則select pg_reload_conf()即可。

pg_ctl stop –D $PGDATA

pg_ctl start –D $PGDATA

1.4在從庫測試連線是否成功

psql -h 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從主節點複製資料到從節點

$ pg_basebackup -h 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  #說明該節點是從伺服器

recovery_target_timeline  #指定恢復到特定時間軸。預設設定是沿著執行基本備份時的當前時間線恢復。將此設定為 latest 將恢復到存檔中找到的最新時間軸

2.4啟動服務

pg_ctl start  -D $PGDATA

在主庫上查詢,如下,可以看到,sync_state,async就表示非同步流複製。

postgres=# select pid,usename,application_name,client_addr,state,sync_state  from  pg_stat_replication;

美創科技運維日記|postgresql-pg簡易非同步流複製搭建

如上,就簡單的搭好了一個流複製資料庫!可以試一試!

美創科技運維日記|postgresql-pg簡易非同步流複製搭建

美創科技擁有強大的運維中心資料庫服務團隊,其中Oracle ACE 1人、OCM 10餘人、數十名Oracle OCP、MySQL OCP、 RHCA、中介軟體weblogic、tuxedo認證、達夢工程師,並著有《Oracle DBA實戰攻略》,《Oracle資料庫效能最佳化方法和最佳實踐》,《Oracle核心技術揭秘》等多本資料運維最佳化書籍。

美創科技結合多年來在資料中心運維領域的知識經驗沉澱,自主研發資料中心運維一體機,並架構美創運維雲,實現了對資料中心的全景監控和資料庫智慧化運維,有效保障生產業務的執行穩定和資料完整性。更多產品詳情諮詢:4008113777。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69973247/viewspace-2707831/,如需轉載,請註明出處,否則將追究法律責任。

相關文章