postgres实现异步standby

postgresql异步方式实现standby

postgres可以利用standby的方式实现数据库的高可用。其中master database或者是primary database可以提供的是读写的功能,而standby实现的是只读的功能,下面简单的介绍下实现方式

环境说明:

master:192.168.8.4

standby:192.168.8.147

首先在两台服务器上面都安装好了postgres软件,之后按照下面的方式修改master上面的配置文件 postgres.conf

wal_level = hot_standby

max_wal_senders = 5

listen_address = ‘*’

下面在postgres中添加文件复制的用户

create user replication password ‘passwd’

\q

修改pg_hba.conf

添加如下的认证

host    replication     all             all          md5

开始的时候我的配置是如下的配置

host    replication     replication           192.168.8.0/24          md5

制定了具体的用户进行连接,但是在连接的过程中总是报错

所以现在采用上面的连接方式

下面对数据库进行restart(在用户为postgre的环境下)

pg_ctl restart –D $PGDATA(后面为自己的数据目录)

之后配置standby服务器

利用pg_basebackup将数据拷贝到standby数据库

pg_basebackup  -U replicaiton  -h 192.168.8.4 -F p -P -x -R -D/data/postgresdata_backup/ -l backup20170611

-F:format指定格式,p表示的是plain,t表示输出的格式为tar类型。即所有的文件都是以原来的格式进行复制过来,

参数解释:

-D: 指定复制过来的时候,存放的数据目录

-R:当复制完成之后,写入recovery.conf

-x:当复制的时候包括wal文件

-X:同-x,--xlog-method=fetch|stream 指定具体的方法获取wal日志

-z: --gzip生成的日志为tar.gz的压缩方式

-l:设置backup的label

-P:显示压缩的进程信息

-h:指定host

-W:强制密码提示

-w:没有密码提示

设置配置文件(slave-server)

postgres.conf

hot_standby = on

之后重启服务器,pg_ctl  start –D path(将数据拷贝过来的时候的文件位置)

好了之后,可以在master database进行测试,创建一个数据库来进行同步情况的查看了。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值