+−⟲ XLogRecData hdr_rdt 1. 首先WAL记录是以XLogRecData链的结构组装的,其中第一个节点为XLogRecord,即WAL记录的头部部分 WAL header结构 固定头部 可变头部 xl_tot_len:记录的总长度 xl_xid:事务id xl_prev:指向前一个记录的指针 xl_info:一些标志位xl_rmid:记录的资源管理器xl_crc:记录的CRC校验和 很明显,虽然是头部,但是很多信息是需要在数据写完之后才能填充的 可变头部就得详细说明了,毕竟数据部分的元数据就是组织在这里的 XLogRecordBlockHeader 固定 XLogRecordBlockHeader XLogRecordBlockHeader 根据是否做full-page image,有一个可选的XLogRecordBlockImageHeader头 根据是否做了压缩,有一个可选的XLogRecordBlockCompressHeader头 虽然是有逻辑上的层级关系,但是在内存当中是连续的 头部与XLogRecData中的节点基本上是对应的,虽然不是一对一的关系