合 PG备份恢复工具之pg_probackup
Tags: PGPostgreSQL备份恢复pg_probackup
简介
GitHub:https://github.com/postgrespro/pg_probackup
文档:https://postgrespro.github.io/pg_probackup/
pg_probackup是由俄罗斯PG社区组织Postgres Professional发布的一个用于管理PostgreSQL数据库备份和恢复的工具。pg_probackup 是一款免费的postgres数据库集群备份工具,与pg_basebackup和pg_rman相比,具有以下优势:
1、提供增量备份,增量备份一定程度上可以节省磁盘空间的使用并减少备份耗时
2、可以通过全量备份+增量备份进行增量恢复
3、无需通过实际的数据恢复操作即可验证备份文件是否有效
4、提供备份压缩以节省磁盘空间
5、可以对远程实例进行备份【远程备份要实现SSH互信】
6、可以从STANDBY实例进行备份
7、可以查看已备份数据备份以及归档的列表以及相关详细信息
8、支持部分还原(还原部分数据库)
9、支持对备份集的管理
10、并行恢复
pg_probackup备份方式:
1、全量备份:将数据库集下的所有数据文件进行备份
2、增量备份:增量备份仅会备份上一次备份之后发生变更的数据,相对于全量备份其空间占用有了极大的缩减
2.1、DELTA模式:在该模式下,pg_probackup会扫描所有的数据目录文件,然后将上一次备份后发生改变的数据页进行拷贝备份。这种模式下
增量备份的IO消耗(读IO)基本等同于全量备份
2.2、PAGE模式:该模式下,pg_probackup仅会扫描备份上一次备份结束时刻之后的所有WAL归档日志。这种模式下的增量备份必须保证WAL日志有设置合理的归档
(wal_level>minimal、archive_mode=on/always、archive_command使用pg_probackup 进行archive-push归档)
2.3、PTRACK模式:在该模式下,pg_probackup会实时跟踪源备份实例端数据页的变化,对于距上一次备份发生更新的数据页,将其记录到bitmap中,以此来加快
增量备份的时间。该模式下不需要关注WAL日志归档设置,增量备份时间相对于DELTA更快,但是由于需要实时跟踪发生变化的数据页,所以对源端数据库服
务器有一定的资源消耗【需要设置:CREATE EXTENSION ptrack;启用跟踪页面更新:ptrack.map_size】
注意:备份工具与数据库block_size、wal_block_size必须一致,否则无法备份(block_size、wal_block_size在安装包源码编译时设置)