MVCC (Multi-Version Concurrency Control) on se, miten PostgreSQL käsittelee samanaikaista pääsyä — lukujen lukitsemisen sijaan se pitää useita versioita riveistä, joten jokainen transaktio näkee johdonmukaisen tilannekuvan tiedoista. Pääetu: lukijat eivät estä kirjoittajia, ja kirjoittajat eivät estä lukijoita, mikä mahdollistaa korkean samanaikaisuuden.
Perusajatus: useita riviversioita
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.
