postgresql热备配置(二) 基于wal文件传输的温备

基于pg连续归档功能做的温备,适用于对数据延时敏感度低的环境


1 主服务器开启连续归档WAL归档
        postgresql.conf文件中(默认5分钟写一次日志,我改成了10分钟):
        a) 需设置wal_level配置参数为replica或更高
        b) 设置archive_mode为on
        c) 使用archive_command配置参数指定一个shell命令。

archive_command = 'test ! -f /data0/pgdata/achive/%f && gzip < %p > /data0/pgdata/achive/%f  &&  scp  /data0/pgdata/achive/%f postgres@从库ip:/data0/ucdata/achive/ '


       d) 设置 max_wal_senders 为 1 或者更高(为了制作备份)

2、修改 pg_hba.conf ,去掉下面这行的注释或将下面这一行写入文件末尾

local   replication     postgres                                peer


3、重启主库pg

systemctl restart postgresql-9.6

此时archivedir文件夹中应该开始写入wal日志了

4、制作一个基础备份

 pg_basebackup -D /data0/pgdata/achive/base -Ft -z -P

此命令将分别将所有数据库文件作为tar.gz格式写入base文件夹中

5、以与主库完全相同的路径和版本建立一个新的pg,并创建相同的tablespace

6、将上面的制作的基础解压并移动到对应的从库目录中,将主库生成的日志发送到从库achive目录

7、在从库主目录创建一个recovery.conf文件,内容如下

standby_mode = 'on'
#primary_conninfo = 'host=192.168.1.50 port=5432 user=foo password=foopass'
restore_command = 'gunzip < 从库achive目录/%f > %p'
#archive_cleanup_command = 'pg_archivecleanup /data1/ucdata/achive/ %r'


8、启动从库pg,并观察日志

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值