使用 PgBackRest 进行增量备份和 WAL 归档之间的区别

Difference between incremental backup and WAL archiving with PgBackRest

据我了解

所以,假设我的 WAL 归档设置正确

  1. 为什么我需要增量备份?
  2. 增量备份的成本不应该几乎为零吗?

我发现的大多数文档都侧重于高级实现(例如,如何设置 WAL 归档或增量备份)与内部(触发增量备份时会发生什么)

我的问题可能可以通过对某些文档的 link 来解决,但是我的 google-fu 到目前为止让我失望了

备份不是 WAL 文件的副本,它们是集群的整个数据目录的副本。正如 docs 中所说,增量备份包含:

those database cluster files that have changed since the last backup (which can be another incremental backup, a differential backup, or a full backup)

单独使用 WAL 不足以恢复数据库;他们只记录对集群文件的更改,因此他们需要备份作为起点。

定期备份(增量或其他方式)的需要主要与恢复时间有关。从技术上讲,您 可以 只保留原始的完整备份和多年的 WAL 文件,但在发生故障时重放它们可能需要数小时或数天,而且您可能不能不能容忍那种停机时间。

新备份还意味着您可以安全地丢弃任何旧的 WAL(假设您仍然不需要它们来进行时间点恢复),这意味着要存储的数据更少,并且您要确保其完整性的数据更少靠着才能恢复。

如果您想了解更多关于 pgBackRest 实际上在做什么,Postgres docs.