向快照添加额外文件 (PostgreSQL 备份)
作者: mitar创建于 2026年9月14日更新于 2026年9月14日
我正在研究如何将 PostgreSQL 备份与 kopia 结合使用。 在研究了不同的选项之后,包括其高级 pg_basebackup 工具和 低级备份 API。 直接拷贝数据库文件的问题在于,文件可能不具有一致性(某些状态可能处于 wal 中)。 使用 pg_basebackup 的问题在于,您实际上是在机器上某个地方对数据库进行了全量拷贝(或对其进行了增量)。 因此,只需增加存储空间,以便 kopia 可以在其他地方进行另一次拷贝/备份。 这种双重拷贝还意味着您在机器上进行了额外的 SSD 磨损。 我知道 kopia --stdin-file 选项,但它可能与 pg_dump 兼容,甚至在单文件模式(-Fc)下也可以兼容,而不兼容多文件模式(-Fd),后者允许部分恢复。 此外,这意味着我有两个快照,一个用于文件,另一个用于 pg_dump 输出。 pg_basebackup 支持输出到 tar 标准输出,但 kopia 缺少类似 --stdin-tar 的选项。 即使有了这个选项,运行 pg_basebackup 的最佳方式是使用 --wal-method=stream,但它输出两个 tar 文件,并且不兼容通过 stdin 传输。 因此,我研究了 pg_basebackup 使用的低级 API,以确定是否可以与 kopia 更紧密地集成。 我得出的结果是:
内容来源: kopia/kopia