系列文章目录
第一章 《PostgreSQL高可用之主备复制》
第二章 《PostgreSQL高可用之主备切换》
第三章 《PostgreSQL高可用之故障转移》
1.前言
在主库宕机等情形下,可能存在备库升级为主库的需求,此时原主库在修复后一般会作为新备库重新加入到集群当中,从而恢复主备复制状态。在正常情况下,备库完整复制了主库的所有内容,此时原主库作为新备库重新加入到集群中相对简单。而在某些特殊场景下,如备库可能还没有来的急完整复制主库内容,主库就发生了宕机,这时备库在提升为主库后插入数据就会产生数据"分叉"问题,在本文中也将介绍如何在特殊场景下进行主备切换。
2.环境准备
按第一章 《PostgreSQL高可用之主备复制》准备主备复制基础测试环境。
3.主备切换
# 主库关闭
# 在主库所在服务器执行
$ docker-compose down
# 备库退出备用模式
# 在备库所在服务器执行
$ docker exec -i postgres14 /bin/bash -c 'su - postgres -c "/usr/lib/postgresql/14/bin/pg_ctl promote -D /var/lib/postgresql/data"'
# 原主库设置为备库
# 在主库所在服务器执行
# postgresql.conf中配置primary_conninfo
$ vi /home/shfirm/postgresql/data/postgresql.conf
primary_conninfo = 'host=192.168.241.136 port=5432 user=replicauser password=111111'
# 创建standby.signal文件
$ touch /home/shfirm/postgresql/data/standby.signal
# 启动原主库(现备库)
$ docker-compose up -d


3242

被折叠的 条评论
为什么被折叠?



