0
点赞
收藏
分享

微信扫一扫

PostgreSQL 主从异步、同步流复制配置

码农K 2022-03-30 阅读 62

参考文章:PostgreSQL 主从异步流复制配置(二)_将臣三代的博客-CSDN博客

PostgreSQL 主从异步、同步流复制配置(三)_将臣三代的博客-CSDN博客_同步流复制

服务器地址如下:

PostgreSQL 主从异步流复制配置

在 master 上搭建PostgeSQL 环境基于配置(一),具体请参考 搭建PostgreSQL 安装环境(一)

安装成功后,在master的客户端认证文件pg_hba.conf 后新增如下:

上述表示:允许地址为17、18、19的用户repl 通过MD5密码验证 从主机进行复制。
修改配置文件后,若PostgeSQL 服务在运行 则reload,没有运行则 start 使之生效:

master配置成功后,slave 安装基本环境同 master ,区别在于 slave 从库不需要进行 initdb 初始化数据库

slave复制数据

上述表示把数据从主库master同步到slave 上

查看slave的recovery配置文件

启动slave:

解决方法: 

启动PG server:

看到日志输出以下内容说明启动成功:

查看主从是否已连接: 

PostgreSQL 主从同步流复制配置 

master上连接pocdb 数据库 ,基于配置二的节点状态

master有两个slave都是async(异步)流复制,现在修改slave1节点为sync(同步)流复制,修改master 节点的postgresql.conf中参数synchronous_standby_names

查看master的复制信息:

 slave1已经修改为同步复制。

同步复制slave宕机测试

a. 隐式事务,同步slave宕机,事务挂起,slave恢复后写事务继续执行。

slave1为同步复制方式,当slave1宕机(kill -9),在master上执行查询可以执行,但写入的DML语句,将被block:

恢复slave1之后,master上的事务将继续执行, 恢复slave: 

master上的事务: 

在同步复制的slave节点上查询: 

b. 显式事务,在slave宕机的情况下,提交的事务会本地提交,slave恢复后会将master上本地提交的事务同步到slave,rollback的事务在slave宕机时不受影响。

显式本地提交事务: 

显式本地ROLLBACK事务: 

在slave上查询:

异步复制slave宕机:

当异步复制slave宕机,master读写不受影响,恢复后可即时同步到最新数据:

 

举报

相关推荐

0 条评论