PostgreSQL utilizza lock per coordinare l'accesso concorrente e prevenire conflitti. Grazie a MVCC, le letture generalmente non richiedono lock (i lettori non bloccano gli scrittori), ma le scritture acquisiscono lock a livello di riga, e vari tipi di lock coordinano le operazioni. Comprendere il locking aiuta a evitare contention e deadlock.
MVCC significa che le letture di solito non bloccano
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.
