【0356】Postgres内核 XLOG读取之 打开一个 logfile segment ( 3 - 1 )
文章目录
- 1. TLI 列表获取 TimeLineID
- 2. 获取 TimeLineHistoryEntry 实体
- 2.1 获取 logfile segment 文件句柄
- 2.1.1 确认 XLOG filename
- 2.1.2 确定 XLOG filepath
- 2.1.3 VFD 打开 XLOG WAL
1. TLI 列表获取 TimeLineID
本文是作为 【0355】Postgres内核 XLOG读取之 打开一个 logfile segment ( 3 ) 的下半篇内容。 主要上一篇构建的 List 表中循环遍历解析出 TimeLineHistoryEntry 变量。 然后根据 tli、begin 成员作进一步的分析处理。
主要内容如下:
(1) List 表解析 TimeLineHistoryEntry 实体
(2) 根据List解析的TimeLineHistoryEntry 中 成员 tli、begin 作进一步的分析处理。
(3) 打开 logfile segment ,获取文件描述符 fd
2. 获取 TimeLineHistoryEntry 实体
通过Postgres内核中宏 foreach() 去选好读取 List内容。更多关于 foreach()
宏的原理与使用请拓展阅读: