Also called: ctid)">TID (ctid)">item pointer, ItemIdData, line pointer array
In plain English
Every 8 KB page keeps a small array of slots near its top. Each slot — a line pointer — records where a row lives inside the page and what state it is in. Indexes and queries reach a row through its line pointer, not by a fixed offset, so the row’s body can move within the page while the pointer stays put.
Why it matters
Pruning and VACUUM work by rewriting line pointers, not by deleting bytes. A slot can be NORMAL (live row), REDIRECT (points to another slot, used by HOT chains), DEAD (row gone but an index still references the slot), or UNUSED (free for reuse). Reading these states with pageinspect is how you see cleanup actually happen.