首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于PostgreSQL中的差异备份的哪个PostgreSQL策略

用于PostgreSQL中的差异备份的哪个PostgreSQL策略
EN

Database Administration用户
提问于 2019-05-17 10:50:42
回答 1查看 865关注 0票数 1

我在两个不同的服务器上设置了pgBackRest和PostgreSQL配置。

我用crontab设置了一周一次完整备份和一天一次差异备份。

代码语言:javascript
复制
0  1   *   *   0     pgbackrest --type=full --stanza=stanzaname backup  
0  1   *   *   1-6   pgbackrest --type=diff --stanza=stanzaname backup

我将保留设置如下,以保存磁盘使用率:

代码语言:javascript
复制
repo1-retention-full=2  
repo1-retention-diff=1
repo1-retention-archive-type=full

是否有可能确保PITR在这种保留配置下覆盖最多2周?

如果是,是否有将差别保留额设置在1以上的好处?

因为保持更多的差异备份可能会占用大量磁盘空间。

EN

回答 1

Database Administration用户

回答已采纳

发布于 2019-09-19 19:40:22

可能取决于您的存档(WAL)保留策略。

  1. 夜间差异:仅依赖于您的夜间差异,您的PITR恢复窗口将只到上周日的完全备份。在他们的文档中,“差异备份: pgBackRest只复制自上次完全备份后更改的数据库集群文件”。假设今天是9月19日星期四,你想要恢复到上周的星期二(10日)。您不能使用您唯一的差异,今晚(19日)在凌晨1时,其中只包含变化,因为上次完全备份采取星期日15日。如果你恢复你最古老的完全备份,周日8号的备份,你没有从星期一到第14周的差别来申请。
  2. WAL档案:那么,如果您在恢复了9月8日星期天的完整备份之后应用了归档的WAL文件,那么您可以使用它们吗?也许--这是我认为文档有点不清楚的地方:"pgBackRest会在过期备份时自动删除存档的WAL段(基于repo1的保留-完整选项,默认过期WAL用于完整备份)“。我不知道它们是否意味着上周的WALS还在左右;听起来可能是肯定的,因为最古老的WALS还没有过期。但括号中的声明让我停顿了一下。
  3. 不管#2,我的建议是找到一个不完全依赖于WAL存档保留的解决方案。您可以为您的夜间分配配置一个更高的保留量,这样您就不需要只依赖WAL档案(理想但占用大量磁盘),或者只需要每两周进行一次完全备份(我自己也不喜欢这个选项,因为我自己也不喜欢这个选项,因为我更喜欢每周备份一次),或者您可以做我们做的事情:“增量备份不能独立地过期--它们总是与相关的完整备份或差异备份一起过期。”要实现14天的PITR窗口,我们要做的是:
    • Sat上午1点完全备份,保留2
    • 每晚从太阳-星期五的增量

我们发现上面的内容对我们来说是一个很好的平衡:夜间增量相对较小,而且比差更快,特别是当我们离星期六的满员更远的时候。

资料来源:https://pgbackrest.org/user-guide.html (209-09-19年访问)

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/238401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档