PostgreSQL verwendet Locks, um gleichzeitigen Zugriff zu koordinieren und Konflikte zu verhindern. Dank MVCC benötigen Lesevorgänge in der Regel keine Locks (Leser blockieren Schreiber nicht), aber Schreibvorgänge erwerben Locks auf Zeilenebene, und verschiedene Lock-Typen koordinieren Operationen. Das Verständnis von Locking hilft, Contention und Deadlocks zu vermeiden.
MVCC bedeutet, dass Lesevorgänge normalerweise nicht sperren
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.
