面试题答案
一键面试基本步骤
- 开启归档模式:修改
postgresql.conf
文件,设置archive_mode = on
,并指定归档目录等相关参数,如archive_command
来定义归档命令,重启数据库使设置生效。 - 定期创建基础备份:使用
pg_basebackup
工具创建基础备份,它会复制数据库集群的所有数据文件,同时记录当前的日志位置等信息。 - 持续归档:PostgreSQL在运行过程中,后台进程会按照
archive_command
设定的命令将写满的WAL日志文件归档到指定目录。 - 恢复到指定时间点:当需要进行PITR恢复时,首先停止数据库。将基础备份恢复到新的位置,然后根据所需恢复的时间点,使用归档的WAL日志文件进行重放,以将数据库恢复到该时间点的状态。
关键组件
- WAL日志:预写式日志(Write - Ahead Log)记录了数据库的所有修改操作,是PITR实现的核心,用于在恢复过程中重放事务。
- 归档工具:如
pg_basebackup
用于创建基础备份,archive_command
设定的归档命令用于将WAL日志归档保存。 - 恢复命令:如
pg_restore
(配合基础备份文件)和pg_waldump
(用于查看WAL日志内容辅助恢复)等工具,在恢复阶段用于加载备份和重放WAL日志。