Core conceptsbeginner
MVCC
Multi-Version Concurrency Control lets readers and writers proceed concurrently by keeping row versions instead of blocking every read.
What this means
Postgres keeps old copies of a row instead of overwriting it in place. So a reader looking at the row and a writer changing it never wait for each other, the reader sees the version that was current when its query started, while the writer builds a new one alongside. That is what "multi-version" buys you: reads and writes stop fighting over the same row.
Why it matters operationally
It explains why PostgreSQL can serve consistent reads under write pressure and why vacuum is a first-class operational concern.
Where it lives in the source
src/backend/access/heap/heapam.c