PostgreSQL 9.4 流复制环境搭建

此方法并不完全属于热备,因为主机宕掉备机无法自动替换,备机只是起到数据自动备份的功能,如果想实现自动备份需要使用pgpool
环境介绍
IP角色
192.169.77.211
192.169.77.215
首先、务必保证两台都安装有相同版本的Postgresql数据库,两个机器的postgres用户做ssh免密码
1、两台都安装rsync
yum install rsync
2、修改主机的postgresql.conf  在postgres数据库的data目录中
listen_addresses = '*' 
wal_level = hot_standby 
archive_mode = on 
archive_command = ' rsync -av --exclude postmaster.pid --exclude postgresql.conf --exclude pg_ident.conf --exclude pg_hba.conf /var/lib/pgsql/9.4/data/*  192.169.77.215:/var/lib/pgsql/9.4/data/' 
archive_timeout = 300 --这个是同步刷新时间单位是秒 意思是300秒同步一次
max_wal_senders = 1 
wal_keep_segments = 300   
3、修改备机的postgresql.conf  在postgres数据库的data目录中
listen_addresses = '*'
 hot_standby = on 
4、备机在data目录创建recovery.conf文件,内容为:
restore_command = 'cp /var/lib/pgsql/archive/%f %p' 
standby_mode = 'on'  
primary_conninfo = 'host=192.169.77.211 port=5432 user=postgres password=postgres'
5、备机创建archive目录,并授权 
# mkdir /var/lib/pgsql/archive 
# chmod 777 /var/lib/pgsql/archive/
6、修改pg_hba.conf 文件让两个机器都可以免密码
7、主机启动数据库然后进入psql执行 select pg_start_backup('base'); 然后在退出psql 执行
 rsync -av --exclude postmaster.pid --exclude postgresql.conf --exclude pg_ident.conf --exclude pg_hba.conf /var/lib/pgsql/9.4/data/*  192.169.77.215:/var/lib/pgsql/9.4/data/
再回到psql 执行select pg_stop_backup();  看提示按Ctrl+C终止即可
8、备机启动数据库 此时可以看到同步过来的数据,以后会每300秒同步一次
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值