当前位置: 首页 > news >正文

postgresql 数据库 主从切换 测试

postgresql 数据库 主从切换 测试

文章目录

  • postgresql 数据库 主从切换 测试
  • 前言
    • 环境:
  • 主从切换
    • 1. 查看数据库状态:
    • 2. 备库切换主库
    • 3. 旧主库切换成备库;
    • 4 查看状态
  • 后记

前言

因数据库等保需要,需要对老系统的数据库进行主从切换来确保数据库的稳定性与安全性。

环境:

数据库版本:postgresql 11.5

pg数据库主从部署:
pg11.5主从部署:
https://blog.csdn.net/yang_z_1/article/details/112259081

主从切换

1. 查看数据库状态:

1.1 查看数据库状态

/usr/pgsql-11/bin/pg_controldata -D /u01/apps/pgsql/data/

主库:
在这里插入图片描述

从库:
在这里插入图片描述

1.2 查看数据库主从

select pg_is_in_recovery();

t : t标示备库
F : f标识主库

在这里插入图片描述

在主库中查询:
select * FROM pg_stat_replication ;

在这里插入图片描述

2. 备库切换主库

2.1 停止主库

/usr/pgsql-11/bin/pg_ctl -D /u01/apps/pgsql/data/ stop
systemctl stop postgresql-11
-bash-4.2$ /usr/pgsql-11/bin/pg_ctl -D /u01/apps/pgsql/data/ stop
等待服务器进程关闭 .... 完成
服务器进程已经关闭

在这里插入图片描述

2.2 查看备库状态

查看备库状态:
一定要备库是在正在归档恢复中

在这里插入图片描述

2.3 修改备库参数

进入数据库目录下 ,修改recovery.conf 文件

mv recovery.conf recovery.done
[root@localhost data]# mv recovery.conf recovery.done 

修改前:
在这里插入图片描述
修改后:
在这里插入图片描述

修改 pg_hba.conf文件

添加主库ip地址到pg_hba.conf文件。

在这里插入图片描述

2.4 重启备库

/usr/pgsql-11/bin/pg_ctl -D /u01/apps/pgsql/data/ stop
/usr/pgsql-11/bin/pg_ctl -D /u01/apps/pgsql/data/ start

再次查看备库状态;
在这里插入图片描述
现在备库已经成为了新的主库。

3. 旧主库切换成备库;

3.1 查看数据库状态:

现在数据库状态应该是关闭的。

3.2 修改参数文件
进入 数据库目录下,修改pg_hba.conf文件 ,跟备库的一致,添加旧主库IP(就是本机数据库ip)。

添加 recovery.conf 文件1

vim recovery.conf 

内容如下:

standby_mode    ='on'
primary_conninfo        ='host = 10.10.3.12 port = 5432 user = replication password = replication'
trigger_file = '/tmp/pgsql_master'

host为新的主库ip地址,port 为新的主库的端口 user为主备传输用户

文件赋权

chown -R  postgres:postgres recovery.conf

注意: 现在主从库的pg_hba.conf文件上都应该有现在从库的ip地址!!!!!!!!

3.3 启动从库

/usr/pgsql-11/bin/pg_ctl -D /u01/apps/pgsql/data/ start

4 查看状态

  1. 在新的主库上查看:

select * FROM pg_stat_replication ;
查看是否有数据。

  1. 在主从库中执行select pg_is_in_recovery();是否为主从。
  2. 在主库上创建新表,在从库上查看是否同步

以上都没有问题,就表示主从切换成功了。如果要切换回去,也是上面的操作。

后记

如果本文章有何错误,请您评论中指出,或联系我,我会改正,如果您觉得这篇文章有用,请帮忙一键三连,让更多的人看见,谢谢
作者 yang_z_1 csdn博客地址: https://blog.csdn.net/yang_z_1?type=blog

http://www.lryc.cn/news/17593.html

相关文章:

  • 干旱预测方法总结及基于人工神经网络的干旱预测案例分析(MATLAB全代码)
  • 一篇文章弄清楚啥是数组和集合
  • 计算机网络(五):三次握手和四次挥手,TCP,UDP,TIME-WAIT,CLOSE-WAIT,拥塞避免,
  • 【数据结构】二叉树(C语言实现)
  • 高级信息系统项目管理(高项 软考)原创论文——成本管理(2)
  • 代码签名即将迎来一波新关注
  • 黑盒渗透盲打lampiao
  • 笔记:VLAN及交换机处理详细教程(Tagged, UnTagged and Native VLANS Tutorial)
  • 在字节跳动,造赛博古籍
  • Android 12.0设置默认Launcher安装一款Launcher默认Launcher无效的解决方案
  • 数据结构第16周 :( 希尔排序+ 堆排序 + 快速排序 )
  • 【C++】类和对象
  • Java缓存面试题——Redis应用
  • KMP算法详细理解
  • RabbitMQ单节点安装
  • tomcat 服务的目录结构和tomcat的运行模式
  • vector迭代器失效问题
  • 2023年排名前茅的十大饭店装修设计!
  • MFCCA多通道多说话人语音识别模型上线魔搭(ModelScope)
  • 刷题记录:牛客NC25078[USACO 2007 Ope S]City Horizon
  • 【Java|golang】 1238. 循环码排列---格雷编码
  • Python自动化测试框架封装和调用
  • 线程的执行
  • 【视频】海康摄像头、NVR网络协议简介
  • 【Spring的事务传播行为有哪些呢?Spring事务的隔离级别?讲下嵌套事务?】
  • 其实一点不难学会这三步一定让你学会制作一个『3D建模』大屏
  • 【C++】C++的内存模型之四大分区
  • Vue跨级通信(重点)
  • 支付系统中的设计模式07:责任链模式
  • 期末综合考试