BackupDrill 是面向 Supabase 项目的自动化备份服务,核心特点是把备份直接写入用户自己拥有的云存储桶,并定期执行恢复演练来证明备份确实可以还原。
用途
Supabase 自带的备份存在覆盖范围与可移植性限制:其数据库备份(含每日备份与 PITR)只覆盖数据库本身,而 Storage 对象在数据库中仅保存元数据,恢复时只能找回可能已不存在的文件指针;部分项目(如使用物理备份或启用 PITR 的项目)无法从控制台下载备份。BackupDrill 针对这些缺口,提供数据库与 Storage 文件一并快照、写入用户自有存储桶、并定期验证可恢复性的方案。
主要能力
- 备份数据库:以标准 pg_dump 文件形式输出,便于在任意环境用 pg_restore 还原。
- 备份 Storage 文件:在添加项目 Storage 的 S3 密钥后,Storage 文件与数据库进入同一份快照。
- 写入自有存储桶:支持 Amazon S3、Cloudflare R2、Backblaze B2、Wasabi,备份直接流式传输到用户桶中,服务方不保留副本。
- 恢复演练:定期把最新备份还原到临时数据库,检查归档 sha256、pg_restore 是否完成、表数量是否匹配、有数据的表恢复后是否非空,并在快照包含 Storage 文件时抽检其 sha256;记录实际恢复耗时,完成后销毁临时环境,报告发送到邮箱。
- 失败邮件提醒:备份或演练失败时发送邮件告警。
- 控制台快照历史:显示快照记录;桶中的对象始终归用户所有,可通过生命周期规则过期旧对象。
- 开源备份引擎:引擎采用 MIT 许可证,可审计托管服务所运行的 CLI,也可自行运行。
使用方式
- 连接 Supabase 项目:点击 Connect Supabase 并选择项目,工具会在项目中创建只读备份角色,不需要数据库密码,也不需要 service_role 密钥。也可选择运行三行 SQL 片段或粘贴连接字符串。
- 选择备份目标:指定自己在 Amazon S3、Cloudflare R2、Backblaze B2 或 Wasabi 上的存储桶;服务方只保留加密的访问密钥。
- 按计划备份:免费计划每周备份,付费计划每日备份;数据库以标准 pg_dump 文件输出,添加 Storage 的 S3 密钥后 Storage 文件一并备份,直传用户桶。
- 恢复演练:付费计划每周执行一次,免费计划在首次备份后执行一次。
还原 Storage 文件到新项目是唯一例外,需要该项目的 service-role 密钥,在还原时输入且不被存储。连接 Supabase 需要 Postgres 16 或更新版本;更旧的项目改用粘贴连接字符串。
定价
- 免费计划:每周备份、3 个控制台快照历史、每项目最高 1 GB、首次备份附带一次恢复演练,无需信用卡,无时间限制。
- 付费计划:首月 1 美元,之后从每月 19 美元起(19 美元档提供每日备份、每周恢复演练与邮件报告、30 个快照历史、每项目最高 10 GB)。
- 更高档位:49 美元/月(每项目最高 25 GB)、99 美元/月(60 个快照历史、每项目最高 100 GB、PDF 客户报告、优先支持)。
- 年付:支付 10 个月费用。 对比:Supabase PITR 为每项目每月 100 美元且不含 Storage 文件。若需要 24 小时以内的恢复点,可两者并用。
适用场景
- 使用 Supabase 的副项目、有真实用户的产品、小团队以及为客户交付的项目。
- 希望备份数据保存在自己云存储中、并且需要自动验证备份可还原的团队。
- 不满足于 Supabase 免费计划(无可依赖的备份)或需要数据库与 Storage 一并备份的用户。
限制
- 恢复演练免费计划仅首次备份执行一次,付费计划每周一次。
- 快照历史数量按控制台记录计算,桶中对象不自动清理,需要用户自行添加生命周期规则。
- 一次备份只写入用户桶,服务方不保留副本,因此数据管控与存储成本由用户承担。
- 已提供的信息未说明支持的 Supabase 计划范围、具体区域或除上述以外的存储服务商。