This topic describes the heap table structure of PolarDB O Edition.

Heap table structure
Item Description
table files A table file that consists of one or more data files. The number of data files depends on the data file size. If the data file size exceeds 1 GB, a new data file is generated.
file A data file that consists of multiple data blocks.
page A data block that consists of multiple rows.
page header The data block header. For more information, see Table 1.
tuple A row.
tuple header The row header. For more information, see Table 2.
Table 1. Information about the data block header
Field Description
pd_lsn The position where the write-ahead logging (WAL) file of the data block is modified for the last time.
pd_checksum The page checksum.
pd_flags The flag bits.
pd_lower The offset to the start of free space.
pd_upper The offset to the end of free space.
pd_special The offset to the start of special space.
pd_pagesize_version The page size and the layout version number.
pd_prune_xid The earliest XMAX that is not deleted from the page. If none exists, the value is 0.
Table 2. Information about the row header
Field Description
t_xmin The insert transaction identifier (XID).
t_xmax The delete XID.
t_cid The command identifier (CID) of the command that you run to insert or delete data.
t_ctid The tuple identifier (TID) of the current row version or later.
t_infomask The flag bits.
t_infomask2 The extra flag bits.
t_hoff The offset to user data.
tuple data The actual data.