Core conceptsadvanced
HOT update (heap-only tuple)
An optimization where an UPDATE that does not change any indexed column can store the new row version on the same page without adding index entries.
What this means
A shortcut for the common case where you update a column no index covers. Normally a new row version means new entries in every index; but if no indexed column changed, Postgres can keep the new version on the same page and skip touching the indexes entirely. Less index churn, less bloat.
Why it matters operationally
HOT updates dramatically reduce index bloat and write amplification, which is why avoiding needless index columns pays off.
Related errors
Where it lives in the source
src/backend/access/heap/heapam.c