Postgres主从异步流复制

1 准备工作

1.1 PG版本

psql (PostgreSQL) 10.8

1.2 系统准备

安装工具
调整时区
安装POSTGRES数据库
配置主从服务器的postgres用户相互免密SSH登录

2 主库服务器操作

2.1 修改pg_hba.conf文件

host    replication     replicator      主库IP/32            md5 # 允许主库用户访问
host    replication     replicator      从库IP/32            md5 # 允许从库用户访问
host    all             all             all                  md5 # 允许所有IP的客户端访问

2.2 修改主库的配置文件postgresql.conf

wal_level = replica # 数据库热备模式
max_wal_senders = 6 # 可以设置最多几个流复制链接
wal_keep_segments = 1024 # 主库保留WAL日志数量,默认一个WAL日志16MB,若业务系统较繁忙,应设置足够大
wal_sender_timeout = 60s
max_connections = 1000 # 与业务系统规模相关
wal_log_hints = on # 支持使用pg_rewind实现故障后主从同步
full_page_writes = on # 支持使用pg_rewind实现故障后主从同步

2.3 创建Replication用户

# psql中执行
create role replicator login replication password '123456';

2.4 启动主库

pg_ctl -D /usr/local/pgsql/datas/demo -l /usr/local/pgsql/datas/demo/logdemo.log start

3 从库操作

3.1 在从库获取主库的基础备份

# psql中执行
pg_basebackup -h 10.37.129.5 -p 5432 -U replicator -F p -P -D /usr/local/pgsql/datas/demo

3.2 修改从库的配置文件

listen_addresses = '*'
wal_level = hot_standby
max_connections = 2000	#从库的最大链接需要大于主库的配置
hot_standby = on	#说明从库不仅仅用于容灾,也可以提供只读服务
max_standby_streaming_delay = 30s
wal_receiver_status_interval = 10s	#向主库报告状态的间隔
hot_standby_feedback = on	#如果有冲突的查询,是否向主库进行反馈 
wal_log_hints = on #支持使用pg_rewind实现故障后主从同步
full_page_writes = on  #支持使用pg_rewind实现故障后主从同步

3.3 配置从库恢复文件

# 拷贝配置文件到数据卷目录
cp /usr/local/pgsql/share/recovery.conf.sample /usr/local/pgsql/datas/demo/recovery.conf
# 修改recovery.conf文件
standby_mode = 'on'
primary_conninfo = 'host=10.211.55.61 port=5432 user=replicator password=123456' 
recovery_target_timeline = 'latest'

3.4 启动从库

pg_ctl -D /usr/local/pgsql/datas/demo -l /usr/local/pgsql/datas/demo/logdemo.log start
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值