PostgreSQL utiliza bloqueos para coordinar el acceso concurrente y prevenir conflictos. Gracias a MVCC, las lecturas generalmente no necesitan bloqueos (los lectores no bloquean a los escritores), pero las escrituras adquieren bloqueos a nivel de fila, y varios tipos de bloqueos coordinan operaciones. Entender cómo funcionan los bloqueos ayuda a evitar contención y deadlocks.
MVCC significa que las lecturas generalmente no se bloquean
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.
