Databasus vs pgBackRest

Databasus 和 pgBackRest 都以最小化 RTO 和 RPO 的灾难恢复为目标,都支持物理备份、WAL 归档和按时间点恢复(PITR)。Databasus 基于 PostgreSQL 17 的原生工具栈远程执行这些备份,复用 PostgreSQL 自带的、久经考验的工具而不是重新造轮子,这一切都在直观的 Web 界面里管理。它适用于任何规模和复杂度的数据库。物理备份要求 PostgreSQL 17 及以上版本;在更早的版本上只能使用逻辑 pg_dump 备份。pgBackRest 自带备份引擎,因此也能在旧得多的 PostgreSQL 版本上做物理和增量备份,还提供差异备份、delta 恢复等高级功能。

快速对比

下面是 Databasus 与 pgBackRest 主要差异的速览:

功能DatabasuspgBackRest
目标用户个人、团队、DBA、企业DBA、命令行和 IaC 工作流
备份管理✅ 多个数据库❌ 仅单个数据库
其他数据库支持✅ PostgreSQL、MySQL、MariaDB、MongoDB❌ 仅 PostgreSQL
界面Web 界面命令行、配置文件
备份类型逻辑 + 物理物理(文件级)
物理备份所需 PostgreSQL 版本17+(原生)9.4+(自带引擎)
恢复选项✅ PITR✅ PITR
并行操作✅ 支持✅ 支持
增量备份✅ 块级(PG 17+)块级增量
差异备份❌ 不支持✅ 支持
Delta 恢复❌ 不支持✅ 支持(只恢复变化的文件)
远程备份✅ 支持❌ 不支持(需要文件系统访问)
团队功能✅ 工作区、RBAC、审计日志❌ 单用户
学习曲线很低要求 DBA 专业知识
安装一行脚本或 Docker需要手动配置
适合自托管数据库✅ 适合✅ 适合
适合云数据库✅ 适合(RDS、Cloud SQL、Azure)❌ 不适合(需要文件系统访问)

目标用户

两款工具最重要的差异在于它们为谁而设计:

Databasus 的用户

Databasus 面向广泛的用户群体,从个人开发者到大型企业:

  • 个人开发者:安装简单、界面直观,无需深入了解 PostgreSQL 也能保护个人项目。
  • 开发团队:工作区、基于角色的访问控制和审计日志让团队成员安全协作。
  • 企业:完善的安全机制、多种存储目标和通知渠道,可满足企业级需求。
  • DBA 和灾难恢复:物理备份、WAL 归档和 PITR,为要求数据近零丢失的关键系统服务。

pgBackRest 的用户

pgBackRest 是命令行工具,面向想自己运维备份引擎的团队:

  • 命令行和 IaC 工作流:偏好通过文件和脚本而不是 Web 界面配置备份的团队。
  • 较老的 PostgreSQL 版本:pgBackRest 自带引擎,能在 PostgreSQL 17 以下的版本上做物理和增量备份。
  • 大规模场景的高级功能:当差异备份、delta 恢复和创建备用节点值得付出额外配置成本时。

备份方式

两款工具采用截然不同的备份策略,各有优势:

Databasus:逻辑 + 物理备份

Databasus 同时支持逻辑和物理两种备份策略:

  • 物理备份、增量备份和 WAL 备份:通过 PostgreSQL 复制协议远程执行,基于 PostgreSQL 17 的原生工具栈:pg_basebackup、由服务端 WAL 摘要驱动的块级 pg_basebackup --incrementalpg_receivewalpg_combinebackup。Databasus 复用 PostgreSQL 自带的、久经考验的工具,而不是重新造轮子。要求 PostgreSQL 17 及以上版本。
  • 逻辑备份:使用 pg_dump 生成可移植的备份,能恢复到不同的 PostgreSQL 版本,还可以选择性恢复指定的表或 schema。这也是 PostgreSQL 17 以下版本唯一可用的备份类型,以及 MySQL、MariaDB 和 MongoDB 的备份途径。
  • 数据库上无需安装任何东西:备份通过远程连接完成;封闭网络可以通过 SSH 隧道连接到内部主机或跳板机,数据库无需暴露到公网。
  • 高效压缩:两种备份类型都使用 zstd(级别 5),可将体积缩小 4-8 倍。
  • 只读访问:逻辑备份只需要 SELECT 权限,最大限度降低安全风险。

pgBackRest:物理备份

pgBackRest 对 PostgreSQL 数据目录执行文件级(物理)备份:

  • 块级增量:只备份发生变化的数据块,缩短超大数据库的备份时间、减少存储占用。
  • WAL 归档:持续归档预写日志(WAL),实现精确的按时间点恢复。
  • 全量、差异、增量:多种备份策略,应对不同的恢复场景。
  • 为大规模而优化:专为逻辑备份耗时过长的数据库设计。

恢复选项

两款工具都提供灵活的恢复选项,但粒度不同:

Databasus 的恢复

  • 按时间点恢复:通过 WAL 回放恢复到任意指定的一秒。
  • 整集群恢复:从物理备份将整个数据库集群恢复到指定时间点。
  • 逻辑恢复:从定时逻辑备份恢复到任意一个备份点。
  • 一键恢复:直接在 Web 界面下载并恢复逻辑备份。
  • 跨版本兼容:逻辑备份可以恢复到不同的 PostgreSQL 版本。

pgBackRest 的恢复

  • 按时间点恢复(PITR):通过 WAL 回放恢复到任意指定的一秒。
  • 整集群恢复:从物理备份将整个数据库集群恢复到指定时间点。
  • 并行恢复:多线程恢复,加快大型数据库的恢复速度。
  • Delta 恢复:只恢复变化的文件,缩短恢复时间。
  • 创建备用节点:从备份创建 PostgreSQL 副本。

注意: 两款工具都支持 PITR。pgBackRest 额外提供 delta 恢复(只获取变化的文件)、差异备份,以及从备份创建备用节点。 了解 Databasus 如何支持 PITR →

易用性

两款工具在用户体验上的取向差别极大:

Databasus 的使用体验

  • Web 界面:所有备份设置都可以点选配置,不需要命令行。
  • 2 分钟安装:一行 cURL 脚本或一条简单的 Docker 命令,立即上手。
  • 可视化监控:仪表盘一目了然地展示备份状态、健康检查和历史记录。
  • 内置通知:直接在界面里配置 Slack、Teams、Telegram、邮件或 webhook 告警。
  • 无需 PostgreSQL 专业知识:为想获得可靠备份、又不想成为数据库专家的开发者而设计。

pgBackRest 的使用体验

  • 命令行界面:所有操作都通过终端命令完成。
  • 配置文件:需要手动编辑 INI 风格的配置文件。
  • WAL 归档配置:必须配置 PostgreSQL 的 archive_command 及相关设置。
  • 学习曲线陡峭:需要理解 PostgreSQL 内部机制、WAL 原理和各种备份策略。
  • 要求 DBA 专业知识:文档默认读者熟悉数据库管理概念。

查看 Databasus 安装指南 →

团队功能

对于由多名成员共同管理备份的组织:

Databasus 的团队能力

  • 工作区:按项目或团队组织数据库、通知渠道和存储。用户只能看到被邀请加入的工作区。
  • 基于角色的访问控制:分配查看者、编辑者或管理员权限,控制每位成员能做什么。
  • 审计日志:记录系统中的所有操作和变更,是安全合规与责任追溯的基础。
  • 共享通知:团队频道自动收到备份状态更新。

pgBackRest 的团队能力

pgBackRest 是命令行工具,没有内置团队功能:

  • 没有用户管理或访问控制
  • 没有操作审计日志
  • 团队协作需要借助外部工具和流程
  • 访问通过配置文件的操作系统级权限控制

进一步了解 Databasus 的访问管理 →

安全性

两款工具都提供扎实的安全功能:

Databasus 的安全性

  • AES-256-GCM 加密:所有密码、令牌和凭据都加密存储,加密密钥与数据库分开保存。
  • 每个备份独立加密:每个备份文件用主密钥、备份 ID 和随机盐派生的唯一密钥加密。
  • 只读数据库访问:只需 SELECT 权限,即使被攻破也不会破坏数据。

pgBackRest 的安全性

  • 仓库加密:备份仓库可以使用 AES-256 加密。
  • TLS/SSH 传输:远程操作通过安全通道通信。
  • 校验和验证:在创建和恢复时验证备份完整性。

进一步了解 Databasus 的安全性 →

存储选项

两款工具都支持多种存储目标,Databasus 提供了更多面向普通用户的选项:

Databasus 的存储

  • 本地存储
  • Amazon S3 及 S3 兼容服务
  • Google Drive
  • Cloudflare R2
  • Azure Blob Storage
  • NAS(网络附加存储)
  • Dropbox

pgBackRest 的存储

  • 本地存储(POSIX、CIFS)
  • Amazon S3 及 S3 兼容服务
  • Cloudflare R2(S3 兼容)
  • Azure Blob Storage
  • NAS(网络附加存储)
  • Google Cloud Storage
  • SFTP

查看 Databasus 的所有存储选项 →

通知

随时掌握备份状态:

Databasus 的通知

内置多种通知渠道:

  • Slack
  • Discord
  • Telegram
  • Microsoft Teams
  • 邮件
  • Webhook

pgBackRest 的通知

pgBackRest 没有内置通知支持,实现通知需要:

  • 围绕备份命令自写脚本
  • 集成外部监控工具
  • 手动解析日志并配置告警

查看 Databasus 的所有通知渠道 →

结论

在 PostgreSQL 备份生态中,Databasus 和 pgBackRest 满足的是不同的需求。如何选择取决于你的数据库规模、团队结构和技术要求。

选择 Databasus,如果:

  • 你是个人开发者、团队或企业,想要一个直观的备份方案
  • 相比命令行工具,你更喜欢 Web 界面
  • 你需要团队协作功能(工作区、RBAC、审计日志)
  • 你想要内置的 Slack、Teams、Telegram 等通知
  • 你想在一个带调度、通知和团队功能的仪表盘里管理多个数据库的备份
  • 你想快速上手,不需要太多 PostgreSQL 知识
  • 你使用云托管数据库(AWS RDS、Google Cloud SQL、Azure)或自托管 PostgreSQL

选择 pgBackRest,如果:

  • 你需要在 PostgreSQL 17 以下版本上做物理或增量备份(pgBackRest 自带备份引擎)
  • 你需要差异备份或 delta 恢复(只处理变化的文件)
  • 你需要从备份创建备用节点来实现高可用
  • 你偏好命令行工具和基础设施即代码的工作流
  • 你的团队有运维和调优它所需的 PostgreSQL 专业知识

两款工具都支持物理备份、WAL 归档和 PITR,都以最小化 RTO 和 RPO 的灾难恢复为目标。Databasus 适用于任何规模和复杂度的数据库,并提供 Web 界面、团队功能,以及覆盖自托管和云托管数据库的逻辑与物理备份。

当你想自己运维备份引擎、需要在 PostgreSQL 17 以下版本上做物理备份,或者依赖它的差异备份和 delta 恢复时,pgBackRest 更合适。