暂无图片
暂无图片
4
暂无图片
暂无图片
1
暂无图片

PostgreSQL的流复制搭建

原创 进击的CJR 2021-12-13
1695

单机版流复制测试环境搭建

搭建规划


主库
备库
数据目录/pgdata/12/data/pgdata/1202/data
归档目录/pgdata/12/arch/pgdata/1202/arch
端口
54325433


创建流复制用户
create role replica with replication login password '123456';


备份主库
pg_basebackup -D /backup/ -Ft -Pv -U postgres -h 1.15.57.253 -p5432 -R


解压备份

cd /backup

tar -xvf base.tar -C /pgdata/12/data
tar -xvf pg-wal.tar -C /pgdata/12/arch


修改postgresql.conf

参数修改
max_wal_senders = 10                   #设置可以最多有几个流复制连接,差不多有几个从,就设置几个  ,相当月mysql的binlog dump线程

wal_keep_segments = 0                  #设置流复制保留的最多的xlog数目  128

wal_sender_timeout = 60s               #设置流复制主机发送数据包的超时时间

max_connections = 100                  #一般查多于写的应用从库的最大连接数比较大

hot_standby = on                       #针对从库,说明这台机器不仅仅是用于数据归档,也用于数据查询

max_standby_streaming_delay = 30s      #数据备份的最大延迟时间
                                                  
wal_receiver_status_interval = 10s     #多久向主报告一次从的状态,当然从每次数据复制都会向主报告状态,这里只是设置最长的时间间隔

hot_standby_feedback = on              #如果有错误的数据复制,是否向主进行反馈

recovery_target_timeline = 'latest' #指定恢复到一个最近的时间线
复制

另外因为是单机多实例

还需要修改这几个参数

archive_command = 'cp %p /pgdata/1202/arch/%f'

port = 5433


修改standby.signal

standby_mode = 'on'

表示为备库


启动备库

pg_ctl -D /pgdata/1202/data

CST [22362] LOG: started streaming WAL from primary at 0/6000000 on timeline 2


监控复制

主库:

select pid,state,client_addr,sync_priority,sync_state from pg_stat_replication;


备库:

psql -U postgres -h localhost -p 5433 -c "\x" -c "select * from pg_stat_wal_receiver;"


测试:

主库上新建一个库

查看备库






「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论

sucuoholic
暂无图片
3年前
评论
暂无图片 0
6666
3年前
暂无图片 点赞
评论