分享 | 一文了解 PG PITR 即时恢复
作者:颜博 青云科技数据库研发工程师
目前从事 PostgreSQL 产品开发工作,热衷于 PostgreSQL 数据库的学习和研究
在数据库系统中,数据是一切的基础,数据的安全更是重中之重。但可能因为各种原因导致数据丢失或损坏,因此数据的备份和恢复便显得尤为重要。
PostgreSQL 是一个强大的开源对象关系数据库系统,经过 30 多年的积极开发,在可靠性、功能稳健性和性能方面赢得了良好的声誉。Point-In-Time Recovery(简称 PITR) 是 PostgreSQL 的基于时间点的数据恢复技术,在开启 WAL 日志归档及基础备份后,可以即时恢复用户误操作丢失的数据,为您的数据库加上一重"保险"。
本文将演示 PostgreSQL 如何配置 PITR 数据备份,以及当数据被误删除后如何进行数据即时恢复。
|环境准备
准备数据库
准备 PostgreSQL 11 版数据库环境。
|PITR 数据备份
当用户误删除数据之后,可以通过 PITR 恢复指定的时间戳的数据。下面介绍开启备份及恢复数据的详细步骤。
开启 WAL 日志归档
通过修改配置文件,开启 WAL 日志归档功能。
成功保存配置修改,即打开了 WAL 日志归档功能。
准备数据
执行基础备份
PostgreSQL 查看当前时间,指定备份时的 lable。
开始备份
执行一次 WAL 切换,使得 WAL 日志归档
查看归档状态,如果 archived_count 为 0 代表异常,需要查看配置文件是否修改成功或尝试重启 PostgreSQL 服务
注意:
备份完成后,
/data/wallog_back/
目录下应该有相应的归档文件。
select * from pg_stat_archiver;
命令执行完成后,如果archived_count
为 0,代表归档设置开启失败,请重新检查配置文件或重启服务。
|PITR 数据恢复
模拟误删数据
即时恢复数据
重新启动数据库
|数据恢复验证
如图所示,数据恢复到了 200001 条。
|总结
PITR 在配置一定条件后,可以进行数据的恢复,在误删除数据后,可以帮助我们找回数据。
|参考
版权声明: 本文为 InfoQ 作者【RadonDB开源社区】的原创文章。
原文链接:【http://xie.infoq.cn/article/7c29b0dd4de18cf008826a7ef】。文章转载请联系作者。
评论