PostgreSQL gebruikt locks om gelijktijdige toegang te coördineren en conflicten te voorkomen. Dankzij MVCC hebben leesbewerkingen over het algemeen geen locks nodig (lezers blokkeren schrijvers niet), maar schrijfbewerkingen verwerven locks op rijniveau, en verschillende soorten locks coördineren bewerkingen. Het begrijpen van vergrendeling helpt contention en deadlocks te vermijden.
MVCC betekent dat leesbewerkingen meestal niet vergrendeld zijn
Because of MVCC, plain SELECTs do NOT take row locks — they read a consistent snapshot.
→ Readers don't block writers, writers don't block readers (a key Postgres advantage).
Locking mainly comes into play for WRITES and explicit locking.
