Pg 流复制方式HA 版本升级步骤
admin
2023-05-24 07:42:35
0次

一、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:

(一)升级Slave数据库软件版本

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命令方式升级,仅小版本升级使用9.5.2 --》 9.5.3

安装同主分支版本 例如,9.5.3

3.postgres(192.168.1.20)

修改数据库PATH为最新版本的bin路径,例如,

# Installation prefix

prefix=/opt/pgsql/9.5.7(新版本软件目录)

# Data directory

PGDATA="/pgdata95"(原data目录)

启动salve

pg_ctl -D /path/to/database start



(二)停止VIP,禁止提供服务

4.root(192.168.1.10)

ifconfig eth0:pgvip down


(三)Master 执行检查点

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)

重复以上查询,直到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


(五)启动VIP,对外提供服务

10.root(192.168.1.20)

ifconfig eth0:pgvip 192.168.1.30 up


(六)通知研发或者运维重启应用程序的数据库连接池

11.如果必要,通知研发与支持重启应用程序的数据库连接池。


(七)升级 Master 数据库软件版本

12.postgres(192.168.1.10)

update postgresql soft version

修改数据库PATH为最新版本的bin路径,例如,

# Installation prefix

prefix=/opt/pgsql/9.5.7(新版本软件目录)

# Data directory

PGDATA="/pgdata95"(原data目录)


(八)重做Slave

13.postgres(192.168.1.10)

清空数据库数据目录,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


(九)启动新的Slave

15.postgres(192.168.1.10)

pg_ctl -D /path/to/database start


使用方式

以上升级最好在数据库主版本一致的情况下进行

  1. 如slave(9.5.2)升级到(10.0.beta1),pg_upgrade升级方式

    slave日志报错:

    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数据库对外服务,然后升级Master为大版本,重新做Slave解决

  2. 如果slave(9.5.2)升级到(9.5.3)

 可以顺利升级




相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...