Postgresql主备同步流复制及主备切换、IP漂移

主备流复制环境搭建请参考http://blog.csdn.net/baiyinqiqi/article/details/47833811,参考文章介绍的是异步流复制环境的搭建,实际上同步模式只需要修改主库的几个参数即可实现。

主:192.168.3.201

从:192.168.3.202


postgresql 的几种流复制:

1+n异步流复制:1是指master,n是指slave。一个master可以有多个slave。

1+1+n同步加异步流复制:也就是说1个master与n个slave的流复制环境,在n个slave中有一个slave是同步模式,其它是异步模式。如果同步的slave挂掉,其它异步的slave会选举出一个slave切换到同步模式,整个流复制环境仍能够保证1+1+n的结构。

级联流复制:1个master A,一个slave B直连A,其它slave连B,从B获取数据。这种方式要9.2或更高版本支持。


这里流复制环境的搭建不再重复,仅介绍下如何将异步模式修改为同步模式:

修改master的postgresql.conf

synchronous_standby_names = '*'    # *=all,意思是所有slave都被允许以同步方式连接到master,但同一时间只能有一台slave是同步模式。另外可以指定slave,将值设置为slave的application_name即可。

synchronous_commit = on #这个参数控制是否等待wal日志buffer写入磁盘再返回用户事物状态信息。这个对性能影响还是比较大的࿰

  • 0
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是 Docker PostgreSQL12 复制主从同步配置切换步骤: 1. 首先,在主数据库中修改 postgresql.conf 和 pg_hba.conf 文件,分别设置复制相关参数和允许从服务器连接。 postgresql.conf 文件中需要设置以下参数: ``` wal_level = replica max_wal_senders = 5 wal_keep_segments = 32 ``` pg_hba.conf 文件中需要添加以下规则: ``` host replication all <从服务器IP地址>/32 md5 ``` 2. 重新启动主服务器,使配置生效。 3. 在从服务器中创建一个空的目标数据库,并且在 postgresql.conf 文件中设置以下参数: ``` hot_standby = on ``` 4. 使用 pg_basebackup 命令将主服务器上的数据复制到从服务器上: ``` pg_basebackup -h <主服务器IP地址> -U <用户名> -D /var/lib/postgresql/data -P --xlog-method=stream ``` 5. 在从服务器中创建一个 recovery.conf 文件,指定复制配置参数: ``` standby_mode = on primary_conninfo = 'host=<主服务器IP地址> port=<主服务器端口> user=<用户名> password=<密码>' ``` 6. 启动从服务器。 7. 可以使用 pg_ctl 命令来检查主从同步状态: ``` pg_ctl status -D /var/lib/postgresql/data ``` 8. 如果需要切换主从角色,需要在从服务器上执行以下步骤: - 在主服务器上停止 PostgreSQL 服务; - 在从服务器上编辑 recovery.conf 文件,修改 primary_conninfo 参数为从服务器的连接信息; - 在从服务器上启动 PostgreSQL 服务; - 验证从服务器是否已成为新的主服务器。 希望这些步骤能够帮助到你,如果有任何问题,请随时问我。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值