Postgresus 2.0:自动化 PostgreSQL 备份的关键更新
Postgresus 2.0 提升了这个开源 PostgreSQL 备份工具的功能。在短短六个月内,该项目积累了 246 个提交、在 GitHub 上获得 2.7k 星标,以及 Docker Hub 上 40k 次下载。新功能包括数据库健康检查、扩展的存储和通知选项、带角色的项目管理、多级加密、优化的压缩,以及 Kubernetes 的 Helm chart。放弃增量备份简化了架构。
该工具通过 Docker、docker-compose 或 Helm 部署,支持自托管和托管的 PostgreSQL。主要重点是自动化定时备份,并带通知和多种后端存储。
数据库可用性检查
新功能监控数据库连接状态。Postgresus 定期检查可用性、在用户界面中显示指标,并在宕机时发送通知。您可以禁用检查或配置检查间隔。
当数据库不可用时,它会通过您选择的渠道生成警报:Telegram、Slack、Discord、MS Teams、SMTP 或 webhook。这让您无需额外监控工具即可快速响应故障。
扩展的存储和通知
存储支持已扩展:新增 CloudFlare R2、Google Drive、Azure Blob Storage 和 NAS,同时支持本地磁盘和 S3。FTP、SFTP 和 NFS 计划中。
通知现已集成 Slack、Discord、MS Teams 和自定义 webhook。Webhook 提供灵活设置,适用于任何平台。
- 存储: S3、R2、Google Drive、Azure Blob、NAS、本地。
- 通知: Slack、Discord、Telegram、MS Teams、SMTP、webhook。
项目管理和基于角色的访问控制
引入了项目层级结构,用于分隔数据库。管理员创建项目并为用户分配角色:
- 只读: 查看备份历史,下载文件。
- 编辑: 添加/移除/更改数据库 + 只读权限。
审计日志记录所有操作:删除数据库、下载备份、更改设置。这对于数据库管理员、开发运维团队以及处理多个客户数据的外部开发者至关重要。
项目实现隔离:
- 客户 A 的数据库。
- 公司 B 的内部数据库。
- 团队 C 的测试环境。
多级加密和安全
安全功能已全面升级,以适应企业用例。保护覆盖三个层面:
密钥加密
数据库密码、存储令牌和通知凭据使用 AES-256-GCM 加密。密钥存储在 Postgresus 数据库外部的单独文件中。解密在使用时按需进行。
备份加密
pg_dump 文件使用 salt 和 IV(AES-256-GCM)实时加密。默认启用,但可禁用。即使在公共 S3 存储桶中,也能防止泄露。
只读用户
添加具有写权限的数据库时,Postgresus 建议创建只读角色。这自动化了最佳实践,并在遭受入侵时最小化数据损坏风险。
压缩优化和性能
PostgreSQL 16+ 默认使用 zstd 级别 5(PG 12+ 使用 gzip)。21 个场景的基准测试显示最佳速度/大小平衡:约 8 倍压缩,在相同速度下比 gzip 5 节省 2 倍空间。
放弃增量备份和点时间恢复(PITR)简化了逻辑,专注于全量转储。
Kubernetes 部署和用户界面改进
新增 Helm chart,支持原生 k8s 安装。三位贡献者共同开发。
用户界面现支持深色主题(响应社区请求)。用户体验改进针对中高级用户:带指标的仪表板、一键设置。
未实现的功能
- 完整的数据库资源监控(CPU、I/O)。
- 内置 SQL 控制台。
这些功能暂缓,重点放在核心功能上:备份 + 安全。
主要亮点
- 多级加密: 密钥和备份使用 AES-256-GCM + 只读角色。
- 团队协作: 项目、基于角色的访问控制、审计日志。
- 优化: 默认 zstd,8 倍压缩。
- 集成: 新存储(R2、Azure、Drive)、通知(Slack、Teams)。
- 监控: 数据库健康检查带警报。
— Editorial Team
暂无评论。