本文为您展示PolarDB-O的堆表结构图。

堆表结构
结构 说明
table files 表文件,由一个或多个数据文件组成,文件数量与文件大小有关,超过1 GB就会生成一个新的数据文件。
file 数据文件,由多个数据块组成。
page 数据块,由多个数据行组成。
page header 数据块头,详细信息请参见表 1
tuple 数据行。
tuple header 数据行头,详细信息请参见表 2
表 1. 数据块头信息
结构 说明
pd_lsn 最后修改这个块的WAL的位点。
pd_checksum 页面校验码。
pd_flags 标志位。
pd_lower 到空闲空间开头的偏移量。
pd_upper 到空闲空间结尾的偏移量。
pd_special 到特殊空间开头的偏移量。
pd_pagesize_version 页面大小和布局版本号信息。
pd_prune_xid 页面上最老未删除的xmax,如果没有则为0。
表 2. 数据行头信息
结构 说明
t_xmin 插入事务ID(XID)。
t_xmax 删除事务ID(XID)。
t_cid 插入或删除CID。
t_ctid 当前版本的页面偏移量或者指向更新的版本。
t_infomask 标志位。
t_infomask2 额外标志位。
t_hoff 到用户数据的偏移量。
tuple data 实际的数据。