本文为您展示PolarDB PostgreSQL版(兼容Oracle)的堆表结构图。
结构 | 说明 |
---|
table files | 表文件,由一个或多个数据文件组成,文件数量与文件大小有关,超过1 GB就会生成一个新的数据文件。 |
file | 数据文件,由多个数据块组成。 |
page | 数据块,由多个数据行组成。 |
page header | 数据块头,详细信息请参见数据块头信息。 |
tuple | 数据行。 |
tuple header | 数据行头,详细信息请参见数据行头信息。 |
表 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 | 实际的数据。 |