postgresql 流复制平台搭建

postgresql 热备份平台搭建

环境:pg 9.x, centos 7
主机名角色数据目录ip
服务器主库/opt/PostgreSQL/9.6/data/*.*.*.174
VMwareStandby(从)/opt/PostgreSQL/9.6/data/*.*.*.176

pg 9.x 版本

第一步
  • 对主库进行操作,首先要对 pg_hba.conf 中增加一条配置

####### 允许用户postgres从176的网络上发起到本数据库的流复制(replication)链接。
host replication postgres *.*.*.176 md5

主库重启生效以上变更

  • 其次要对 postgresql.conf 中修改配置
    listen_addresses = “*”
    max_wal_senders = 5
    wal_level = replica (9.6之后的replica = 9.6之前的hot_standby)

  • 第三,需要用pg_basebackup命令在从机上生成基础备份。

/opt/PostgreSQL/9.6/bin/pg_basebackup -R -h 192.168.3.174 -D /opt/PostgreSQL/9.6/data/ -U postgres -W

-R 参数,会自动传教 recover.conf
-h 要备份的主机
-p 指定端口
-D 指定备份文件将要写入的目录
-U 指定链接用户名
-W 强制让pg_basebackup出现密码输入提示
从机上生成来自主机的基础备份

  • 接下来要启动Stanby数据库。
    在启动之前需要修改从机的postgresql.conf里的配置。
    hot_standby = on

    • 接着,需要启动从机的 pg,就可以自动进入Hot Standby状态,查看进程。
    • 查看主机进程变化
      在这里插入图片描述
出现的问题
  1. number of requested standby connections exceeds max_wal_senders (currently 0)
    未对主库的max_wal_senders进行连接数量设置,即:max_wal_senders=1
  2. starting up waiting for xxxxxxxxxxxxxxxxxxxxxxxxx
    此问题是因为在从机启动数据库之前没有进行hot_standby=on设置。遇上此问题需要重新进行pg_basebackup。

pg 为10.x版本

配置流复制,主库只要开启 replication 权限(pg_hba.conf)

然后再从库,
1、先形成一个主库的基本备份
2、配置 recover.conf ,开启流复制
更改从机的文件权限。
chown -R postgres data
3、重新启动

1 和2 可以通过 pg_basebackup -R -h -U -D 一步到位

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值