A PostgreSQL heap tuple cannot exceed the 8KB page, yet a single text or jsonb column can hold up to 1GB. TOAST is the trick. When a row would cross the 2KB threshold, PostgreSQL compresses its variable-length columns, slices the survivors into chunks, and stores them in a companion pg_toast_<oid> relation, leaving an 18-byte pointer behind on the main heap.
Pick an insert (tiny, compressible, incompressible, huge) and watch where the bytes land. Flip the storage strategy (EXTENDED, EXTERNAL, MAIN, PLAIN) and the compression method (pglz, lz4) and re-insert to see the redistribution change. UPDATE a row to watch its old chunks turn dead, then VACUUM to reclaim them. Click any heap tuple for the full TOAST pointer, or any chunk for its row in pg_toast.