Postgresql - Build Streaming Replication (pg 10.4)

不得不说,Postgresql搭建备库真是简单到极致。相比于Oracle,MySQL,MS Server都是非常简单的。
两台虚拟机环境:
CentOS 7,
Postgresql 10.4


主库:
# 首先创建同步所需用户和权限
postgres=# create user dbsr replication ;

# 编辑pg_hba.conf,允许用户dbsr连接,并执行replication
host replication dbsr 192.168.3.51/32 trust # streaming replication primary
host replication dbsr 192.168.3.52/32 trust # streaming replication slave

# 编辑postgresql.conf,将所有配置的配置好后,重启数据库服务
wal_level = hot_standby # 这个是设置主为wal的主机
max_wal_senders = 10 # 这个设置了可以最多有几个流复制连接,差不多有几个从,就设置几个
wal_keep_segments = 256 # 设置流复制保留的最多的xlog数目
wal_sender_timeout = 60s # 设置流复制主机发送数据的超时时间
max_connections = 1000 # 这个设置要注意下,从库的max_connections必须要大于主库的
max_wal_size = 5GB # in logfile segments, min 1, 16MB each
min_wal_size = 100MB # in logfile segments, min 1, 16MB each
hot_standby = on # "on" allows queries during recovery (change requires restart)
max_standby_archive_delay = 60s
max_standby_streaming_delay = 60s
hot_standby_feedback = on
wal_receiver_timeout = 60s


都配置好主库之后,我们就可以在建立备库了。
从库:
# 建立备份
pg_basebackup -h 192.168.3.51 -U dbsr -F p -P -R -D /var/lib/pgsql/10/data -l /tmp/backup.log

# 修改recovery.conf
加入
recovery_target_timeline = 'latest'

# chown
chown -R postgres:postgres data
# chmod
chmod -R 700 /var/lib/pgsql/10/data

# 启动
service postgresql start

配置完成,如果登录成功,说明配置完成,如果报错,查看log逐一解决。

检查
# 登入主库
psql -U postgres -d postgres
postgres=# \x
Expanded display is on.
postgres=# select * from pg_stat_replication ;
-[ RECORD 1 ]----+------------------------------
pid | 11829
usesysid | 16384
usename | dbsr
application_name | walreceiver
client_addr | 192.168.3.52
client_hostname | 192.168.3.51
client_port | 54200
backend_start | 2018-06-12 05:32:22.142186-04
backend_xmin | 557
state | streaming
sent_lsn | 0/7000140
write_lsn | 0/7000140
flush_lsn | 0/7000140
replay_lsn | 0/7000140
write_lag |
flush_lag |
replay_lag |
sync_priority | 0
sync_state | async

配置成功,就是这么简单。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值