PostgreSQL Page Representation
Functions: src/backend/storage/page/*.c
Definitions: src/include/storage/bufpage.h
Each page is 8KB (default BLCKSZ ) and contains:
- header (free space pointers, flags, xact data)
- array of (offset,length) pairs for tuples in page
- free space region (between array and tuple data)
- actual tuples themselves (inserted from end towards start)
- (optionally) region for special data (e.g. index data)
Large data items are stored in separate (TOAST) files (implicit)
Also supports ~SQL-standard BLOBs (explicit large data items)
|