数据库归档及热点库_postgresql连续归档及时间点恢复的操作

postgresql连续归档及时间点恢复的操作,备份,日志,时间,目录,文件postgresql连续归档及时间点恢复的操作易采站长站,站长之家为您整理了postgresql连续归档及时间点恢复的操作的相关内容。简介前面我们介绍了通过pgsql的流复制在生产环境中搭建高可用环境来保证服务的可持续性;我们也要对数据库进行周期备份,来防止数据的丢失,这就需要连续归档,它不仅可以用于大型数据库的增量备份和...
摘要由CSDN通过智能技术生成

postgresql连续归档及时间点恢复的操作,备份,日志,时间,目录,文件

postgresql连续归档及时间点恢复的操作

易采站长站,站长之家为您整理了postgresql连续归档及时间点恢复的操作的相关内容。

简介

前面我们介绍了通过pgsql的流复制在生产环境中搭建高可用环境来保证服务的可持续性;我们也要对数据库进行周期备份,来防止数据的丢失,这就需要连续归档,它不仅可以用于大型数据库的增量备份和恢复,也可以用于搭建standby镜像备份。

PostgreSQL默认处于非归档模式。开启归档模式,主要涉及到三个参数:wal_level,archive_mode和archive_commandwal_level参数默认为mininal,设置此参数为archive或者之上的级别都可以打开归档。当postgresql需要传输归档日志时,会调用archive_command指定的shell命令。

归档文件传输成功时,shell命令要返回0,此时,postgresql会认为归档文件已经传输成功,因此可以删除或者重新循环利用归档文件。当shell命令返回非0值时,postgresql会保留所有未成功传输的归档日志,并不断尝试重新传输,直到成功。如果归档命令一直不成功,pg_xlog目录会持续增长,有耗尽服务器存储空间的可能,此时postgresql会PANIC关闭,直到释放存储空间。

另外将归档WAL日志存储在本机上是风险极高,不被推荐的。postgresql通过archive_command提供了存储WAL日志的灵活性,可以将归档日志存储到挂装的NFS目录,磁带,刻录到光盘,也可以将WAL日志通过ssh/scp,rsync传输到异机保存。

**注意:**archive_command及restore_command命令将以运行PostgreSQL的系统用户的身份运行。Centos系统里,这个系统用户是postges。

环境说明

Role

IP

系统

数据库

源库

10.10.10.60

Centos6.5

postgresql 9.2

备份库

10.10.10.61

Centos6.5

postgresql 9.2

需求说明:源库产生归档日志,并传输到备份库上的归档目录/data/pg_archive;备份库利用归档日志,恢复至源库的任意时间点的数据。

注意:基础环境我们基于postgresql流复制,但是备份库作为一个独立的库,此时请保证recovery.conf中的standby_mode=off

环境配置

1.ssh无密码登录

由于我们备份和还原过程中所用的archive_command和restore_command命令都以postgres用户运行,因此我们需要针对postgres用户实现ssh无密码登录。

#源库

ssh-ketgen -t rsa

scp id_rsa.pub postgres@10.10.10.60:/var/lib/pgsql/.ssh/authorized_keys

#备份库

ssh-ketgen -t rsa

scp id_rsa.pub postgres@10.10.10.61:/var/lib/pgsql/.ssh/authorized_keys

**注意:**yum安装postgresql时,默认生成的postgres用户的家目录在/var/lib/pgsql

2.配置备份库的归档目录

#备份库

mkdir -p /data/pg_archive

chmod postgres.postgres /data/pg_archive

说明:源库产生的归档日志,要存到到异地备份库的/data/pg_archive下。

3.修改源库的postgresql.conf

在postgresql.conf中添加以下几行

#开启归档模式

archive_mode = on

archive_command = 'ssh 10.10.10.60 test ! -f /data/pg_archive/%f && scp %p 10.10.10.60:/data/pg_archive/%f'

其中: %p表示wal日志文件的路径,%f表示wal日志文件名称。archive_command表示先验证备份库的归档目录下是否存在同名文件,以免发生覆盖丢失数据,若不存在将源库上产生的归档日志保存到备份库的/data/pg_archive目录下。

注意:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值