什么是Postgresql连续归档和时间点恢复(PITR)?
PostgreSQL在数据集簇目录的pg_wal/子目录下都保持有一个预写式日志(WAL),这个日志存在的目的是为了保证崩溃后的安全。如果系统崩溃,可以“重放”从最后一次检查点以来的日志项来恢复数据库的一致性。Postgresql在PITR模式下重放基础备份下的归档WAL数据,从pg_start_backup创建的REDO点到你要恢复的点。

PITR模式下操作步骤
环境如下:操作系统:Red Hat 6.8,数据库:11.2,PGHOME=/db/pgsql,PGDATA=/db/pgsql_data01
- 关闭数据库,修改配置文件postgresql.conf
- 启动数据库,开始备份
- 创建测试数据库:createdatabaseaaaa;,创建表并补充数据
- 再次插入数据
- 模拟毁坏并进行恢复:结束PG服务,模拟数据库毁坏,恢复备份文件,删除pg_wal文件夹并重建,拷贝recovery.conf文件并修改,启动数据库
- 查看日志,恢复成功
PITR技术的重要性
PITR技术对7*24小时支撑很重要,对于数据库体量很小的,可以增加pg_dump备份频率,对于体量较大数据库就很需要了。需要注意的是pg_dump和pg_dumpall不会产生文件系统级别的备份,并且不能用于连续归档方案。这类转储是逻辑的并且不包含足够的信息用于WAL重放。
原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/5950.html
