Postgresql源码(70)逻辑复制DecodeXLOG主要流程和数据结构

2022-09-21 15:06:54 浏览数 (14)

相关: 《Postgresql源码(66)insert on conflict语法介绍与内核执行流程解析》) 《Postgresql源码(70)逻辑复制DecodeXLOG主要流程和数据结构》

本篇只简单介绍逻辑复制解析过程,这里面的比较有意思的历史快照还没有看,后面在补一篇。

0 总结速查

  • 优先理解数据结构,整体流程就是一个解析–>挂链–>处理的流程。
  • 调pg_logical_slot_get_changes走decode这部分代码逻辑简单且相对独立,可以参考的地方:
    • 经典查找结构hashtable entry中挂dlist的数据结构。
    • 从XLOG反解并拼出tuple的几个函数调用。
    • 完整独立的Xlog解析接口的调用、hash表、dlist的操作;不同日志类型的处理方式。

1 解析流程

逻辑复制数据结构稍复杂,流程逻辑很简单。(主要是眼花了把reorder看成了record,困惑了很久

0 人点赞