PostgreSQL 数据备份至 S3 的一站式解决方案
基础介绍
postgres-backup-s3 是一个开源项目,它提供了一个使用 Docker 容器定期备份 PostgreSQL 数据库至 AWS S3 的解决方案。该项目基于 Go 和 Shell 编程语言,利用了容器化技术来简化数据库备份的过程。
核心功能
该项目的主要功能包括:
- 定期备份:通过设置
SCHEDULE环境变量,用户可以指定备份的频率,例如每周一次。 - 即时备份:用户可以随时通过执行容器内的脚本触发即时备份。
- 数据恢复:从 S3 存储桶中恢复备份数据。
- 自动删除旧备份:通过设置
BACKUP_KEEP_DAYS,可以自动删除 S3 中指定天数之前的备份。 - 加密备份:如果提供了
PASSPHRASE,备份将会使用 GPG 进行加密。 - 支持非 AWS S3:如果使用的是非 AWS 的 S3 兼容存储,可以通过设置
S3_ENDPOINT进行配置。
最近更新功能
项目最近的更新包含了以下新功能:
- 支持多个 PostgreSQL 版本:通过构建不同的镜像标签,支持备份不同版本的 PostgreSQL 数据库。
- 环境变量的优化:一些环境变量的命名进行了更改或移除,使得配置更加直观。
- 使用 pg_dump 的自定义格式:备份格式采用了自定义格式,以提供更好的压缩和性能。
- 恢复时重建所有数据库对象:在恢复时,会删除并重新创建所有数据库对象,确保数据一致性。
- 默认备份所有 schemas 和 blobs:备份包括了所有的 schemas 和二进制大对象(blobs)。
- 过滤 S3 中的备份:支持根据数据库名称过滤 S3 中的备份文件。
- 支持从特定时间点的备份恢复:用户可以指定备份的时间戳进行恢复。
- 自动删除旧备份:自动删除超过指定天数的备份文件,以便于管理存储空间。
该项目为 PostgreSQL 数据库的备份和恢复提供了一个强大的自动化工具,适用于需要定期备份重要数据的开发者和运维人员。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



