tagged: concurrency
PostgreSQL Locks, Part 3: Advisory Locks and Choosing the Right Lock
sep 2026The last of three parts on PostgreSQL locking: advisory locks and their pitfalls, every lock type in pg_locks, a decision guide for choosing between row, table, advisory, and Serializable, and how to observe locks in production.
PostgreSQL Locks, Part 2: Row-Level Locks
sep 2026The second of three parts on PostgreSQL locking: the four row-level lock modes, why FOR NO KEY UPDATE should be your default, NOWAIT and SKIP LOCKED, deadlocks, and how a blocked transaction actually waits.
PostgreSQL Locks, Part 1: Table-Level Locks and the Lock Queue
sep 2026The first of three parts on PostgreSQL locking: the four lock families, the eight table-level lock modes, what ALTER TABLE really takes, and why a waiting lock can take an application down.
How Write Skew Happens Under Repeatable Read in PostgreSQL
aug 2026A practical example of write skew under PostgreSQL Repeatable Read, followed by a Serializable implementation with bounded retries.
Pessimistic vs Optimistic Concurrency in Postgres
aug 2026A seat reservation race solved with PostgreSQL row locks and conditional updates, using TypeScript and Drizzle ORM.