postgresql主从备份_PostgreSQL 主从实现之异步流复制(Hot Standby)

测试环境:

PC1:192.168.13.129(主库)

PC2:192.168.13.130(从库)

1、两台服务器分别安装PostgreSQL(版本最好一致)

2、主库配置

#创建复制数据库用户

CREATE ROLE replica login replication encrypted password '123456'

#修改配置文件pg_hba.conf,增加replica用户,进行同步

host replication replica 192.168.13.130/24 md5

#修改配置文件postgresql.conf,修改以下几个地方

wal_level = hot_standby # 这个是设置主为wal的主机

max_wal_senders = 32 # 这个设置了可以最多有几个流复制连接,差不多有几个从,就设置几个

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

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

max_connections = 100 # 这个设置要注意下,从库的max_connections必须要大于主库的

#重启主库数据库

systemctl restart postgresql-9.6.service

3、从库配置

#登录postgre用户,测试连接主库数据库是否正常

psql -h 192.168.13.129

#若链接正常,删除从库data目录下文件

rm -rf data/*

#通过pg_basebackup命令行在从库上生成基础备份

pg_basebackup -h 192.168.111.101 -U repl -F p -x -P -R -D /usr/local/postgresql/data/ -l replbackup20161122

#参数说明:

# -h:指定连接的数据库的主机名或IP地址,这里就是主库的ip

# -U:指定连接的用户名,此处是我们刚才创建的专门负责流复制的repl用户

# -F:指定了输出的格式,支持p(原样输出)或者t(tar格式输出)

# -x:表示备份开始后,启动另一个流复制连接从主库接收WAL日志

# -P:表示允许在备份过程中实时的打印备份的进度

# -R:表示会在备份结束后自动生成recovery.conf文件,这样也就避免了手动创建

# -D:指定把备份写到哪个目录

# -l:表示指定一个备份的标识,运行命令后看到如下进度提示就说明生成基础备份成功

#修改从库数据目录下的postgresql.conf文件,将hot_standby改为启用状态

hot_standby=on

#重启从数据库

4、测试。主库创建数据库,表,写入数据,从库进行查看。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值