2026.10.11

pgmoneta:面向 PostgreSQL 的备份与恢复工具

pgmoneta 为 PostgreSQL 提供全量、增量、WAL 与时间点恢复能力,并集成压缩、加密和监控。采用前仍需评估版本、平台、凭据迁移及恢复流程。

项目定位

pgmoneta 是一个面向 PostgreSQL 的备份与恢复方案,适合希望自行掌握备份数据、恢复流程和运行监控的数据库团队。项目采用 BSD-3-Clause 许可证,官方资料将其定位为 PostgreSQL 集群的备份工具,而不是 PostgreSQL 数据库本身的替代品。

已知功能

它支持 PostgreSQL 集群全量备份,并提供增量备份能力。README 标明,增量备份适用于 PostgreSQL 14 及以上版本;表空间相关的增量备份支持则标为 PostgreSQL 17 及以上。恢复端可以选择已保存的备份,并支持时间点恢复。项目还提供 WAL 流式保存,用于持续备份和恢复场景。

在存储与传输方面,pgmoneta 支持 gzip、zstd、lz4 和 bzip2 压缩,也支持对静态备份数据进行 AES 加密。项目网站列出符号链接支持、热备节点和离线检测等能力;README 还列出 TLS v1.2+、守护进程模式、用户 vault 以及 worker pool。运维侧可通过 Prometheus 指标接口和 Web 控制台观察状态,并使用远程管理接口操作服务。项目也包含 WAL 工具,可检查 WAL 记录并进行相关过滤。

适合谁

它适合运行 PostgreSQL、需要自托管备份服务的个人开发者、小型团队和运维团队,尤其适合已经使用 WAL、时间点恢复或热备流程的环境。熟悉 Linux 服务管理、PostgreSQL 归档参数、备份保留策略和监控系统的团队,更容易把这些功能纳入既有运维体系。

如果团队只需要一次性的逻辑导出,或没有独立规划备份存储、密钥管理和恢复演练,pgmoneta 可能会带来超出需求的运维工作。项目资料没有在所给来源中确认最低硬件配置、性能指标、云服务覆盖范围或完整的兼容性边界,因此不能据此推断其在特定规模生产环境中的表现。

部署前限制与考虑

首先要核对 PostgreSQL 版本与所需功能,特别是增量备份和表空间支持的版本条件。README 列出的测试平台包括 Fedora 42+、RHEL 10.x、Rocky Linux 10.x、AlmaLinux 10.x、FreeBSD 和 OpenBSD,但“测试平台”不等于所有部署组合都获得保证。

从源码构建需要编译器、CMake、libev、OpenSSL、压缩库、systemd、libssh、libarchive、LibYAML 等依赖;采用预构建包时,也要确认发行版和软件仓库匹配。部署时应分别规划备份目录、WAL 保存、压缩与加密密钥、TLS 证书、凭据访问权限以及监控告警。AES 加密并不替代密钥生命周期管理,Prometheus 指标也不等于完整的备份可恢复性证明。

采用 0.21.0 时尤其要留意官方发布说明中的 vault 安全机制变化:该版本注明需要迁移。升级前应阅读对应配置和迁移文档,并在隔离环境验证备份、恢复、WAL 和权限流程。无论选择哪个版本,都应用实际数据进行恢复演练,确认恢复目标、保留链、WAL 连续性和故障时的人工操作步骤。

资料来源

资料核对日期:2026-10-11