
PostgreSQL 数据库---内核源码分析 那海蓝蓝:生活点滴,随风拂去
第 1 页 /共 23 页
Postgresql 系统备份与恢复
作者:李海翔
博客:http://blog.163.com/li_hx/
邮箱:lhx3000@163.com
1 概述........................................................................................................................................... 2
2 几个术语 ................................................................................................................................... 2
2.1 物理备份 ................................................................................................................... 2
2.2 物理恢复 ................................................................................................................... 2
2.3 逻辑备份 ................................................................................................................... 2
2.4 逻辑还原 ................................................................................................................... 3
3 使用日志进行恢复的基本原理 ............................................................................................... 3
4 PG 备份方式 ............................................................................................................................ 4
4.1 PG8.x 提供的备份方式 ............................................................................................ 4
4.2 PG8.x 提供的备份方式使用方法 ............................................................................ 5
4.2.1 SQL 转储方式 ......................................................................................................... 5
4.2.2 文件级别备份 ......................................................................................................... 6
4.2.3 在线备份(热备份) ............................................................................................. 6
5 PG 的恢复方式......................................................................................................................... 7
6 PG 日志系统的实现原理详解 ................................................................................................. 8
6.1 PG 日志的实现方式——预写式日志 (WAL) ...................................................... 8
6.2 即时恢复(PITR)与时间线 ....................................................................................... 9
6.3 PG 如何使用日志进行恢复 ................................................................................... 10
6.3.1 数据结构分析 ...................................................................................................... 10
6.3.1.1 xlog 日志的结构 ......................................................................................... 10
6.3.1.2 Xlog 共享缓存格式及作用 ........................................................................ 13
6.3.1.3 XLog 其他信息 .......................................................................................... 14
6.3.2 需要写日志的操作分析 ........................................................................................ 15
6.3.2.1 主要操作步骤分析: ................................................................................. 15
6.3.2.2 主要函数分析: ......................................................................................... 16
XLogInsert 的执行步骤 ................................................................................. 16
XLogFlush 的执行步骤 .................................................................................. 17
XLogWrite 的执行步骤 .................................................................................. 18
6.3.3 针对各类故障进行恢复的流程 .......................................................................... 18
6.3.3.1 事务故障 ..................................................................................................... 18
6.3.3.2 系统故障和介质故障的恢复 ..................................................................... 18
6.3.3.3 恢复过程步骤 ............................................................................................. 19
7 有关日志操作的一些问题 ..................................................................................................... 21
7.1 Bgwriter 进程对于日志是如何影响的? .............................................................. 21
7.2 CreateCheckPoint 如何处理日志? ....................................................................... 21
7.3 为什么要执行基础备份? ..................................................................................... 22
7.4 日志切换的时机 ..................................................................................................... 22
评论