您好,登錄后才能下訂單哦!
一、HA Description:
Master:192.168.1.10
Slave:192.168.1.20
VIP: eth0:pgvip(master and slave) 192.168.1.30
PGDATA: /pgdata95
pg_version: 9.5.2
二、upgrade steps:
(一)升級(jí)Slave數(shù)據(jù)庫(kù)軟件版本
1.postgres(192.168.1.20)
pg_ctl -D /pgdata95 stop -m fast
2.postgres(192.168.1.20)
update postgresql soft version,不使用pg_upgrade命令方式升級(jí),僅小版本升級(jí)使用9.5.2 --》 9.5.3
安裝同主分支版本 例如,9.5.3
3.postgres(192.168.1.20)
修改數(shù)據(jù)庫(kù)PATH為最新版本的bin路徑,例如,
# Installation prefix
prefix=/opt/pgsql/9.5.7(新版本軟件目錄)
# Data directory
PGDATA="/pgdata95"(原data目錄)
啟動(dòng)salve
pg_ctl -D /path/to/database start
(二)停止VIP,禁止提供服務(wù)
4.root(192.168.1.10)
ifconfig eth0:pgvip down
(三)Master 執(zhí)行檢查點(diǎn)
5.db super(192.168.1.10)
checkpoint;
6.postgres(192.168.1.10)
SELECT sent_location, replay_location
FROM pg_stat_replication WHERE usename = 'rep_user';
7.postgres(192.168.1.10)
重復(fù)以上查詢,直到sent_location 和 replay_location 相等
8.postgres(192.168.1.10)
pg_ctl -D /pgdata95 stop -m fast
(四)提升Slave為Master
9.postgres(192.168.1.20)
pg_ctl -D /pgdata95 promote
(五)啟動(dòng)VIP,對(duì)外提供服務(wù)
10.root(192.168.1.20)
ifconfig eth0:pgvip 192.168.1.30 up
(六)通知研發(fā)或者運(yùn)維重啟應(yīng)用程序的數(shù)據(jù)庫(kù)連接池
11.如果必要,通知研發(fā)與支持重啟應(yīng)用程序的數(shù)據(jù)庫(kù)連接池。
(七)升級(jí) Master 數(shù)據(jù)庫(kù)軟件版本
12.postgres(192.168.1.10)
update postgresql soft version
修改數(shù)據(jù)庫(kù)PATH為最新版本的bin路徑,例如,
# Installation prefix
prefix=/opt/pgsql/9.5.7(新版本軟件目錄)
# Data directory
PGDATA="/pgdata95"(原data目錄)
(八)重做Slave
13.postgres(192.168.1.10)
清空數(shù)據(jù)庫(kù)數(shù)據(jù)目錄,rm -Rf /pgdata95
14.postgres(192.168.1.10)
pg_basebackup -U rep_user -h 192.168.1.20 -D /pgdata95 --checkpoint=fast --xlog-method=stream -R
(九)啟動(dòng)新的Slave
15.postgres(192.168.1.10)
pg_ctl -D /path/to/database start
使用方式
以上升級(jí)最好在數(shù)據(jù)庫(kù)主版本一致的情況下進(jìn)行
如slave(9.5.2)升級(jí)到(10.0.beta1),pg_upgrade升級(jí)方式
slave日志報(bào)錯(cuò):
2017-05-23 00:09:19.319 CST [10078] FATAL: database system identifier differs between the primary and standby
2017-05-23 00:09:19.319 CST [10078] DETAIL: The primary's identifier is 6417769161397888214, the standby's identifier is 6422989582
707312045.
2017-05-23 00:09:34.340 CST [10098] FATAL: database system identifier differs between the primary and standby
2017-05-23 00:09:34.340 CST [10098] DETAIL: The primary's identifier is 6417769161397888214, the standby's identifier is 6422989582
707312045.
如遇到此情況,需要先停止Master數(shù)據(jù)庫(kù)對(duì)外服務(wù),然后升級(jí)Master為大版本,重新做Slave解決
如果slave(9.5.2)升級(jí)到(9.5.3)
可以順利升級(jí)
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。