IT咨询服务postgresql数据库

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

关于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

1同行回答

zhuqibszhuqibs软件开发工程师Adidas
使用第三方工具,可以满足你的要求显示全部

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

收起
互联网服务 · 2020-04-30
浏览646

提问者

杨文云
数据库管理员GBS
擅长领域: 数据库云计算服务器

相关资料

问题状态

  • 发布时间:2017-12-05
  • 关注会员:2 人
  • 问题浏览:1136
  • 最近回答:2020-04-30
  • X社区推广