Expand description
§Page layout
+--------+---------------+----------------+--------------+---------+
| header | line pointers |→ free space ←| tuple data | special |
+--------+---------------+----------------+--------------+---------+
0 24 pd_lower pd_upper pd_special 8192Fields are little-endian. Postgres uses the machine’s byte order, which is little-endian on x86-64 and ARM64, so there the bytes match Postgres’s.
Structs§
- Header
- Location
Index - Offset of a byte within a page. Postgres’s
LocationIndex. - Page
- An 8 KB block, exactly as stored on disk.
- Page
Flags - The bits of
pd_flags. - Validated
Page
Enums§
- Invalid
Header - Why a header fails the checks Postgres runs before letting a page into the buffer pool.
- Page
Error
Constants§
- HEADER_
SIZE - PAGE_
LAYOUT_ VERSION - Version of this layout, kept in the low byte of
pd_pagesize_version. Postgres’sPG_PAGE_LAYOUT_VERSION, which has been 4 since Postgres 8.3.