PostgreSQL 使用锁定来协调并发访问并防止冲突。得益于MVCC,读取通常不需要锁定(读者不会阻止写者),但写入会获取行级锁,各种锁类型协调操作。理解锁定有助于避免竞争和死锁。
MVCC 意味着读取通常不需要锁定
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.
行级锁(来自写入和显式锁定)
accounts balance balance id ;
;
accounts id ;
accounts balance ... id ;
;
