如何實現(xiàn)Postgresql流復(fù)制主備切換-創(chuàng)新互聯(lián)

本篇內(nèi)容主要講解“如何實現(xiàn)Postgresql流復(fù)制主備切換”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“如何實現(xiàn)Postgresql流復(fù)制主備切換”吧!

豐臺網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、自適應(yīng)網(wǎng)站建設(shè)等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)成立與2013年到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
--操作系統(tǒng)命令,判斷發(fā)送進程還是接收進程
ps -ef | grep "wal" | grep -v "grep"
--數(shù)據(jù)查看
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;
--系統(tǒng)函數(shù)查看
select pg_is_in_recovery();
--數(shù)據(jù)庫控制信息
pg_controldata | grep cluster
--查看recovery.conf 配置文件
--主備切換 文件觸發(fā)方式  9.0之前的版本
--1、 配置備庫文件,添加trigger_file參數(shù)  recovery.conf
trigger_file='/pgdata/data/.postgresql.trigger.5432'
--2、關(guān)閉主庫
pg_ctl stop -m fast
--3、創(chuàng)建觸發(fā)文件,重啟備庫,觀察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、關(guān)閉主庫 pg_ctl stop -m fash
--2、備庫執(zhí)行  pg_ctl promote
--3、老主庫切換成備庫
--pg_rewind 流復(fù)制維護數(shù)據(jù)同步工具
--當(dāng)備庫激活成主庫時,如果沒有關(guān)閉老的主庫,這時老的主庫不能切換成備庫, 不需要重新備份,pg_rewind 復(fù)制變化(增量刷新同步)
--前提條件,滿足其一即可
1、postgresql.conf 配置文件中 wal_log_hints 參數(shù)設(shè)置成on,需重啟數(shù)據(jù)庫
2、數(shù)據(jù)庫安裝時initdb 初始化時使用了--data-checksums,發(fā)現(xiàn)io錯誤,開啟性能有損耗
--node2 激活備庫
--node1 關(guān)閉備庫,使用pg_rewind 增量同步
pg_rewind --target-pgdata $PGDATA --source-server='host=192.168.8.25 posrt=5432 user=postgres dbname=postgres' -P 
--以上命令執(zhí)行成功, postgres用戶密碼會寫入~/.pgpass
--修改recovery.conf 啟動新備庫
--延遲備庫 recovery.conf 添加參數(shù),目前支持s,min,h,d,ms
recovery_min_apply_delay=1min
--同步流復(fù)制,延遲參數(shù)優(yōu)先
synchronous_commit=on 
recovery_min_apply_delay=1min #優(yōu)先
--remote_aply
synchronous_commit=remote_apply #主庫操作被阻塞1分鐘,備庫應(yīng)用完成才返回結(jié)果
recovery_min_apply_delay=1min #優(yōu)先
--同步復(fù)制優(yōu)選提交,一主兩備,注意,當(dāng)同步庫中有宕機的,主庫會阻塞
synchronous_standby_names=db1,db2  # 備庫列表 第一個為同步備庫,第二個潛在的同步備庫
synchronous_standby_names='FIRST 2(db1,db2,db3)'  # 前兩個為同步備庫,第三個為潛在同步備庫
synchronous_standby_names='ANY 2(db1,db2,db3)'  # 任意兩個為同步備庫,其他為潛在同步備庫
--級聯(lián)復(fù)制a>b>c
--1、異步流復(fù)制,部署備庫b,復(fù)制正常,開始部署備庫c,c執(zhí)行 -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

到此,相信大家對“如何實現(xiàn)Postgresql流復(fù)制主備切換”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

本文名稱:如何實現(xiàn)Postgresql流復(fù)制主備切換-創(chuàng)新互聯(lián)
URL標(biāo)題:http://muchs.cn/article48/deehep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、靜態(tài)網(wǎng)站、App開發(fā)、定制開發(fā)、營銷型網(wǎng)站建設(shè)面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化