Linux之postgres數據庫主從搭建


數據庫安裝

postgres數據庫安裝: Linux(CentOS 7)下安裝postgres

通過上面的連接,在主從兩台服務器上安裝好postgres數據庫

主庫配置

(1)創建具有流復制權限的用戶

CREATE ROLE replica login replication encrypted password 'replica的密碼';

(2)修改pg_hba.conf  角色授權

host    replication     replicator      從機器ip/24     md5

(3)修改postgresql.conf文件 

# 新增或修改下列屬性設置
# 監聽所有IP
listen_addresses = '*'  
# 開啟歸檔
archive_mode = on 
#歸檔命令/data/pgsql/data是你pg數據庫的data文件夾 
archive_command = 'test ! -f /data/pgsql/data/pg_archive/%f && cp %p /var/lib/pgsql/12/data//pg_archive/%f'
# 9.6開始沒有hot_standby(熱備模式)
wal_level = replica
#最多有2個流復制連接
max_wal_senders = 2
wal_keep_segments = 16
#流復制超時時間
wal_sender_timeout = 60s
# 最大連接數,據說從機需要大於或等於該值
max_connections = 100

(4) 建立歸檔文件夾

mkdir /data/pgsql/data

  (5)重啟postgres服務

pg_ctl -D /data/pgsql/data -l/data/pgsql/data/logfile restar

從庫配置

 (1)停止從庫postgres服務

pg_ctl -D /data/pgsql/data -l/data/pgsql/data/logfile stop

 (2)清空從庫數據存儲文件夾

rm -rf /data/pgsql/data/*

 (3)從主服務器上copy數據到從服務器,“基礎備份”

pg_basebackup -h 主節點IP -p 5432 -U replica -Fp -Xs -Pv -R -D /data/pgsql/data/

 (4)此時data目錄下會出現standby.signal文件,編輯此文件

## 加入
standby_mode = 'on'

 (5)修改postgresql.conf文件

#從機信息和連接用戶
primary_conninfo = 'host=主節點IP port=5432 user=replica password=replica用戶的密碼'
#說明恢復到最新狀態
recovery_target_timeline = latest 
#大於主節點,正式環境應當重新考慮此值的大小
max_connections = 120 
#說明這台機器不僅用於數據歸檔,還可以用於數據查詢
hot_standby = on
#流備份的最大延遲時間
max_standby_streaming_delay = 30s 
#向主機匯報本機狀態的間隔時間
wal_receiver_status_interval = 10s 
#r出現錯誤復制,向主機反饋
hot_standby_feedback = on 

(6)重啟從庫

pg_ctl -D /data/pgsql/data/ -l /data/pgsql/data/logfile start

驗證主從搭建是否成功

(1)連接主庫執行

select client_addr,sync_state from pg_stat_replication;

 

 博客來源:

https://www.cnblogs.com/VicLiu/p/12993542.html 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM