PostgreSQL主从复制配置

本文主要介绍基于pg_basebackup实现主从复制(异步流复制)

MASTER节点安装的方法可以看这篇文章

PostgreSQL YUM安装_yum install postgresql-优快云博客


关于基本的配置就不作过多的介绍了,直接开始

MASTER节点

首先在master节点创建一个用于复制的用户rep 设置密码 123456,并授予rolcanlogin权限

CREATE ROLE rep WITH REPLICATION LOGIN PASSWORD '123456';

接下来需要配置pg_hba.conf文件,配置完后记得重启PG

由于我们的SLAVE节点是一个DOCKER PG的容器,下面就需要使用pg_basebackup来备份MASTER 节点的数据目录用来启动SLAVE节点,先备份

pg_basebackup -D /opt/pg_basebackup/ -h 172.17.0.2 -p 5432 -U rep -Fp -R -X s -P -v

SLAVE节点

接下来在DOCKER的数据目录下创建一个SLAVE的本地映射文件用于启动SLAVE节点

接下来将MASTER节点中pg_basebackup备份的数据COPY到我们准备的本地映射centos9_pg目录下

docker cp centos9:/opt/pg_basebackup /var/lib/docker/centos9_pg/

然后启动SLAVE节点即可

 docker run -itd --name pg.slave.16.3 -e POSTGRES_PASSWORD=123456 -v /var/lib/docker/centos9_pg:/var/lib/postgresql/data  07a4ee949b9e

进入容器,看到从数据目录下多了一个standby.signal文件,这默认是一个空文件,其实是一个标识文件。
是因为上面备份的时候使用了-R参数,所以在同步的数据里,所以会在postgresql.auto.conf里配置上 primary_conninfo信息。

验证主从同步

在MASTER节点上可以看到流复制的监控信息,其中 state = streaming 表示流复制状态正常

select * from pg_stat_replication;

下面执行DML语句进行验证(验证的数据在备份之前就可以准备好)

总结

在配置的过程中如果遇到报错一定要去看下错误日志,错误日志中会记录详细信息

PostgreSQL主从复制是一种常见的数据库复制技,用于实现数据的冗余备份和读写分离。在主从复制中,一个主数据库(Master)负责处理写操作,而一个或多个从数据库(Slave)则负责接收主数据库的变更并进行复制。 以下是PostgreSQL主从复制的基本原理和步骤: 1. 配置数据库:在主数据库上,需要修改postgresql.conf文件和pg_hba.conf文件。其中,postgresql.conf文件中需要设置wal_level为replica,max_wal_senders为允许的最大连接数,以及设置archive_mode为on。pg_hba.conf文件中需要添加允许从数据库连接的配置。 2. 创建复制用户:在主数据库上,创建一个用于复制的用户,并赋予REPLICATION角色。 3. 备份主数据库:在主数据库上执行pg_basebackup命令,将主数据库的数据目录备份到从数据库。 4. 配置数据库:在从数据库上,同样需要修改postgresql.conf文件和pg_hba.conf文件。其中,postgresql.conf文件中需要设置standby_mode为on,并指定recovery.conf文件的位置。pg_hba.conf文件中需要添加允许主数据库连接的配置。 5. 创建recovery.conf文件:在从数据库上创建recovery.conf文件,并设置primary_conninfo参数为主数据库的连接信息。 6. 启动从数据库:在从数据库上启动PostgreSQL服务,它将自动连接到主数据库并开始复制数据。 7. 监控复制状态:可以使用pg_stat_replication视图来监控主从复制的状态,包括复制延迟和连接状态等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值