您好,登錄后才能下訂單哦!
本篇內容主要講解“如何實現Postgresql流復制主備切換”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何實現Postgresql流復制主備切換”吧!
--操作系統命令,判斷發送進程還是接收進程 ps -ef | grep "wal" | grep -v "grep" --數據查看 select pid,usename,application_name,client_addr,state,sync_state from pg_stat_replication; --or 備庫 select pid,status,last_msg_send_time,last_msg_receipt_time,conninfo from pg_stat_wal_receiver; --系統函數查看 select pg_is_in_recovery(); --數據庫控制信息 pg_controldata | grep cluster --查看recovery.conf 配置文件 --主備切換 文件觸發方式 9.0之前的版本 --1、 配置備庫文件,添加trigger_file參數 recovery.conf trigger_file='/pgdata/data/.postgresql.trigger.5432' --2、關閉主庫 pg_ctl stop -m fast --3、創建觸發文件,重啟備庫,觀察recovery.conf 是否變成recovery.done touch /pgdata/data/.postgresql.trigger.5432 --4、老主庫 變成備庫 --編輯recovery.conf文件 recovery_target_timeline='latest' standby_mode=on primary_conninfo='host=192.168.8.25 port=5432 user=repuser' --密碼文件 cat .pgpass 192.168.8.25:5432:replication:repuser:re12a345 192.168.8.81:5432:replication:repuser:re12a345 chmod 0600 .pgpass --主備切換 pg_ctl promote 方式 --1、關閉主庫 pg_ctl stop -m fash --2、備庫執行 pg_ctl promote --3、老主庫切換成備庫 --pg_rewind 流復制維護數據同步工具 --當備庫激活成主庫時,如果沒有關閉老的主庫,這時老的主庫不能切換成備庫, 不需要重新備份,pg_rewind 復制變化(增量刷新同步) --前提條件,滿足其一即可 1、postgresql.conf 配置文件中 wal_log_hints 參數設置成on,需重啟數據庫 2、數據庫安裝時initdb 初始化時使用了--data-checksums,發現io錯誤,開啟性能有損耗 --node2 激活備庫 --node1 關閉備庫,使用pg_rewind 增量同步 pg_rewind --target-pgdata $PGDATA --source-server='host=192.168.8.25 posrt=5432 user=postgres dbname=postgres' -P --以上命令執行成功, postgres用戶密碼會寫入~/.pgpass --修改recovery.conf 啟動新備庫 --延遲備庫 recovery.conf 添加參數,目前支持s,min,h,d,ms recovery_min_apply_delay=1min --同步流復制,延遲參數優先 synchronous_commit=on recovery_min_apply_delay=1min #優先 --remote_aply synchronous_commit=remote_apply #主庫操作被阻塞1分鐘,備庫應用完成才返回結果 recovery_min_apply_delay=1min #優先 --同步復制優選提交,一主兩備,注意,當同步庫中有宕機的,主庫會阻塞 synchronous_standby_names=db1,db2 # 備庫列表 第一個為同步備庫,第二個潛在的同步備庫 synchronous_standby_names='FIRST 2(db1,db2,db3)' # 前兩個為同步備庫,第三個為潛在同步備庫 synchronous_standby_names='ANY 2(db1,db2,db3)' # 任意兩個為同步備庫,其他為潛在同步備庫 --級聯復制a>b>c --1、異步流復制,部署備庫b,復制正常,開始部署備庫c,c執行 -h a pg_basebackup -D /pgdata/data -Fp -Xs -v -P -h 192.168.28.74 -p 5432 -U repuser --2、配置c recovery.conf 文件,host b recovery_target_timeline='latest' standby_mode=on primary_conninfo='host=192.168.8.25 port=5432 user=repuser application_name=c' --3、啟動c
到此,相信大家對“如何實現Postgresql流復制主備切換”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。