2016年11月1日: Crunchy Data 自豪地宣布发布 pgBackRest 1.09,可靠的 PostgreSQL 备份和恢复工具。
自 1.0 版本以来,我们改进了可扩展性,添加了从备库备份、选择性还原以及对 9.6 非独占备份方法的支持。下面详细介绍了自 1.0 版本以来的所有主要新功能。
将 Perl 线程转换为子进程,以提高兼容性并大大提高可扩展性。使用 32 个核心和 10GbE,包括压缩和校验和,可以实现 3TB/小时的备份速度。
在备用主机上执行备份可以大大减少主机的 CPU 和 IO 负载。pgBackRest 从备用主机复制大部分文件,仅从主主机复制少量文件,同时仍然生成与完全在主主机上执行的备份完全相同的备份。
可以从集群备份中还原选定的数据库,以在不需要所有数据库时节省空间。还原期间会对所有数据库进行 WAL 回放,因此会占用一些空间,但通常远小于完全还原不需要的数据库时占用的空间。恢复完成后,未还原的数据库将无法访问,但可以按照通常的方式删除。
支持 PostgreSQL 9.6 中的非独占备份。
在备份期间排除在启动时由 PostgreSQL 清理、重新创建或归零的目录。这些目录包括 pgsql_tmp 和 pg_stat_tmp。现在除了已经排除的文件:backup_label.old、postmaster.opts、postmaster.pid、recovery.conf、recovery.done 之外,还排除了 postgresql.auto.conf.tmp 文件。
排除 $PGDATA/pg_replslot 目录的内容,以便主服务器上的复制槽不会成为备份的一部分。
增强了 info 命令的文本输出,以包含所有备份的时间戳、大小和引用列表。
添加了 check 命令,以验证 pgBackRest 是否已正确配置以进行归档和备份。
为数据库提供更灵活的配置。可以在备份服务器上配置主服务器和备用服务器,pgBackRest 将自动确定哪个是主服务器。这意味着在使用单独的备份服务器时,从主服务器故障转移到备用服务器后,无需对备份进行任何配置更改。
pgBackRest 旨在成为一个简单、可靠的备份和还原系统,可以无缝扩展到最大的数据库和工作负载。pgBackRest 没有依赖传统的备份工具(如 tar 和 rsync),而是在内部实现所有备份功能,并使用自定义协议与远程系统通信。消除对 tar 和 rsync 的依赖可以更好地解决特定于数据库的备份挑战。自定义远程协议允许更大的灵活性,并限制执行备份所需的连接类型,从而提高安全性。
Crunchy Data 支持 pgBackRest 作为完全开源项目进行持续和积极的开发,该项目在兼容 BSD 的 MIT 许可证下发布。