PG备份恢复工具pg_probackup
pg_probackup是管理PG数据库集群备份和恢复的工具。用于执行周期性备份PG实例。兼容PG9.5,,96,10,11,12,13。和其他备份解决方案相比,提供下面优势,帮助部署不同备份策略和处理大量数据:
1、增量备份。页级别的增量备份,节省磁盘空间,加速备份和转储。有3种不同增量模式,根据数据流部署不同备份策略。
2、增量转储。页级别的转储,在目标目录中重用有效未更改的页面来加速转储。
3、合并。帮助部署”incrementally updated backups”策略,无须进行完备备份。
4、验证。自动数据一致性校验和按需备份校验,无须实际数据恢复。
5、校验。使用checkdb命令按需验证PG实例
6、保留。根据保留策略管理存档和备份。可以根据恢复实际或要保留的备份数配置保留策略。还可以为特定备份制定生存时间,过期的备份可以合并或者删除。
7、并行化。在多个并行线程上进行备份、恢复、合并、删除、验证和检验
8、压缩。以压缩状态存储备份数据以节省磁盘空间
9、消除重复数据。通过不复制未更改的非数据文件如_vm或者_fsm来节省磁盘空间
10、远程操作。备份位于远程系统上的PG实例或远程恢复备份
11、从备机上进行备份。通过从备机上进行备份来避免主机上的额外负载。
12、外部目录。备份位于数据目录PGDATA之外的文件和目录,如脚本、配置文件、日志或SQL转储文件。
13、备份Catalog。以纯文本或JSON格式获取备份列表和相应的元信息
14、归档catalog。以纯文本或JSON格式获取所有WAL时间线和相应元信息的列表
15、部分还原。仅还原制定的数据库或从转储中排出指定数据库
未管理备份数据,pg_probackup创建一个备份目录。这个目录存储所有备份文件包括额外的元信息,以及WAL归档。可以将不同实例的备份存储在单个目录的不同子目录中。通过该工具可以进行完整备份和增量备份。
1、全量备份,包含从头恢复数据库集群需要的所有数据文件
2、增量备份。只存储自上次以来更改的数据。允许减小备份大小并加快备份操作。支持以下增量备份模式:
1)PAGE备份。扫描自上次备份以来归档的所有WAL文件。新创建的备份仅包含WAL记录到的页面。如果这些文件大小与数据库集群文件总大小相当,则加速比较小,但备份占用空间仍然较小。
2)DELTA备份。读取PGDATA目录下所有数据文件,仅拷贝自上次备份以来的脏页。无须持续归档。此外,该模式还可以施加与全量备份相同的只读IO压力。
3)PTRACK备份。会动态追踪页面改动。无须持续归档。每次更新数据页时,都会在PTRACK位图标记。由于一个页面只需要PTRACK位图中的一个bit,这个位图非常小。跟踪意味着会有开销,但会显著加速增量备份。
无论选择哪种备份类型,都支持以下WAL传递策略:
1)自主备份,通过复制协议传输将集群恢复到备份时的一致性状态需要的所有WAL文件。即使没有设置连续归档,需要的WAL段也会包含在备份中。
2)归档备份,依赖于连续归档。
限制:备份和转储的PG必须block_size和wal_block_size兼容且有相同主版本号;Windows下不支持ssh远程备份;ssh远程备份时,pg_probackup的版本必须相同。