postgresql 数据库 主从切换 测试

postgresql 数据库 主从切换 测试

前言

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

环境:

数据库版本: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

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
PostgreSQL是一种开源的关系型数据库管理系统,可以用于构建高可用的主从架构。在搭建主从架构之前,需要先安装和配置主服务器和从服务器。 首先,安装PostgreSQL 14以及所需的依赖项。可以通过包管理工具如apt-get(适用于Ubuntu)或yum(适用于CentOS)来安装。然后,编辑主服务器(通常为生产环境)的postgresql.conf文件和从服务器(通常为备份环境)的postgresql.conf文件。 在主服务器上,配置以下参数以支持主从复制: 1. 将wal_level设置为logical或replica,这取决于目标数据库的用途。 2. 配置max_wal_senders为从服务器的最大连接数。 3. 设置max_replication_slots为从服务器的最大并发复制数。 4. 启用archive_mode并设置archive_command以将WAL(Write-Ahead Log)日志归档到指定的位置,以便从服务器能够访问归档文件。 在从服务器上,配置以下参数: 1. 将primary_conninfo设置为主服务器的连接信息,包括主服务器的主机名、端口、用户名和密码。 2. 设置standby_mode为on以启用从服务器的备份模式。 3. 配置primary_slot_name为从服务器的复制槽名称。 完成配置后,启动主服务器和从服务器,并确保主服务器和从服务器能够相互访问。由于主服务器会在WAL日志中记录所有更改,从服务器可以通过复制这些日志来保持数据的一致性。 在主服务器上创建复制用户并授予复制权限,以便从服务器可以连接并复制数据。然后,在从服务器上创建复制槽,并启动复制进程。 一旦主从复制建立起来,从服务器将会持续地从主服务器接收和应用WAL日志,以保持与主服务器的数据同步。在主服务器发生故障时,可以通过切换服务器为新的主服务器来维持服务的连续性。 总结来说,PostgreSQL 14主从搭建需要通过配置主服务器和从服务器的参数,并确保数据的复制和同步。通过确保主从服务器之间的连接和相应的权限配置,可以实现高可用性和数据备份。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yang_z_1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值