IT咨询服务postgresql数据库

关于postgresql的备份与还原,有几个问题想请教大家?

关于postgresql的备份与还原,有几个问题想请教: 我们想实现的备份的目标:除了对数据库的备份外,我们是希望当数据库出现误操作时可以进行恢复。 所以我们想对数据库进行如下的备份:每小时做一个时间点,生成WAL文件,(当误操作时可还原到最近的时间点)每天晚上做一次全备并将当天...显示全部

关于postgresql的备份与还原,有几个问题想请教:
 
我们想实现的备份的目标:
除了对数据库的备份外,我们是希望当数据库出现误操作时可以进行恢复。
 
所以我们想对数据库进行如下的备份:

  1. 每小时做一个时间点,生成WAL文件,(当误操作时可还原到最近的时间点)
  2. 每天晚上做一次全备并将当天的WAL备份至磁带机
     
    那我现在进行了如下的设置:
  3. 每小时对主库进行操作:
    select pg_create_restore_point('日期小时数');
         checkpoint;
  4. 每天晚上做一次pg_basebackup 并压缩后交由磁带机
     
    现在遇到的问题:
    1、我对主库的的操作select pg_create_restore_point 和 checkpoint都是成功的,并且也获取了WAL文件的名称
    但是当我想在另一台独立的服务器上还原的时候,发生了问题,还原的时候,我修改了recovery.conf文件,
    Standby_mode = on
    recovery_target_name = 'xxxx'
    但是这样设置始终不成功,它一直去读取最新的WAL文件,而不是我target_name所在的wal文件?
    那如何能让postgresql还原的时候,知道使用哪个WAL文件?
    是使用restore_command这个命令吗?关于这个命令,我不理解的是它仅仅是将wal cp进来吗?cp的条件是啥呢?
    我还有一种理解是,是不是还原前必须将pg_xlog清空掉,只copy target_name所在的那个WAL文件?
收起
参与3

返回zhuqibs的回答

zhuqibszhuqibs软件开发工程师Adidas

使用第三方工具,可以满足你的要求

互联网服务 · 2020-04-30
浏览653

回答者

zhuqibs
软件开发工程师Adidas
擅长领域: 云计算服务器存储

zhuqibs 最近回答过的问题

回答状态

  • 发布时间:2020-04-30
  • 关注会员:2 人
  • 回答浏览:653
  • X社区推广