MVCC (Multi-Version Concurrency Control) è il modo in cui PostgreSQL gestisce l'accesso concorrente — invece di bloccare le righe per le letture, mantiene multiple versioni delle righe, così ogni transazione vede uno snapshot consistente dei dati. Il beneficio principale: i lettori non bloccano gli scrittori e gli scrittori non bloccano i lettori, abilitando un'elevata concorrenza.
L'idea fondamentale: multiple versioni delle righe
When a row is UPDATED, Postgres doesn't overwrite it — it creates a NEW version and
marks the old one obsolete. Different transactions can see different versions.
→ Each transaction sees a consistent SNAPSHOT of the database as of its start
(depending on isolation level), unaffected by others' uncommitted changes.
