返回首页

Postgresus 2.0:PostgreSQL 备份更新

Postgresus 2.0 添加了 AES-256 加密、带 RBAC 的项目管理、优化的 zstd 压缩以及 Kubernetes 的 Helm。该工具提升了团队 PostgreSQL 备份的安全性。对新存储和通知的支持简化了 DevOps 流程。

Postgresus 2.0 用于 PostgreSQL 备份的新功能
Advertisement 728x90

Postgresus 2.0:自动化 PostgreSQL 备份的关键更新

Postgresus 2.0 提升了这个开源 PostgreSQL 备份工具的功能。在短短六个月内,该项目积累了 246 个提交、在 GitHub 上获得 2.7k 星标,以及 Docker Hub 上 40k 次下载。新功能包括数据库健康检查、扩展的存储和通知选项、带角色的项目管理、多级加密、优化的压缩,以及 Kubernetes 的 Helm chart。放弃增量备份简化了架构。

该工具通过 Docker、docker-compose 或 Helm 部署,支持自托管和托管的 PostgreSQL。主要重点是自动化定时备份,并带通知和多种后端存储。

数据库可用性检查

新功能监控数据库连接状态。Postgresus 定期检查可用性、在用户界面中显示指标,并在宕机时发送通知。您可以禁用检查或配置检查间隔。

Google AdInline article slot

当数据库不可用时,它会通过您选择的渠道生成警报: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 提供灵活设置,适用于任何平台。

Google AdInline article slot
  • 存储: S3、R2、Google Drive、Azure Blob、NAS、本地。
  • 通知: Slack、Discord、Telegram、MS Teams、SMTP、webhook。

项目管理和基于角色的访问控制

引入了项目层级结构,用于分隔数据库。管理员创建项目并为用户分配角色:

  • 只读: 查看备份历史,下载文件。
  • 编辑: 添加/移除/更改数据库 + 只读权限。

审计日志记录所有操作:删除数据库、下载备份、更改设置。这对于数据库管理员、开发运维团队以及处理多个客户数据的外部开发者至关重要。

项目实现隔离:

Google AdInline article slot
  • 客户 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

Advertisement 728x90

继续阅读