Koskamo

Transaction isolation levels under concurrency

Document v1 · published by Koskamo editorial · updated 2026-10-04

Original source

The SQL standard defines four levels of transaction isolation; the most strict is Serializable, and the other three are defined in terms of phenomena resulting from interaction between concurrent transactions which must not occur at each level: dirty read (a transaction reads data written by a concurrent uncommitted transaction), nonrepeatable read (a transaction re-reads data it has previously read and finds it modified by another transaction that committed since the initial read), phantom read (a transaction re-executes a query and finds the set of rows satisfying its search condition has changed due to another recently-committed transaction), and serialization anomaly (the result of successfully committing a group of transactions is inconsistent with all possible orderings of running those transactions one at a time). In PostgreSQL you can request any of the four standard isolation levels with SET TRANSACTION, but internally only three distinct isolation levels are implemented: PostgreSQL's Read Uncommitted mode behaves like Read Committed. Read Committed is the default isolation level in PostgreSQL; a SELECT query sees only data committed before the query began and never sees uncommitted data or changes committed by concurrent transactions while the query runs. The Serializable level provides the strictest transaction isolation, emulating serial transaction execution for all committed transactions as if they had been executed one after another, and applications using this level must be prepared to retry transactions due to serialization failures. Scope: PostgreSQL current-release documentation. Reviewed October 4, 2026.

Source and provenance

Original source
www.postgresql.org
Published on Koskamo by
Koskamo editorial
Citation version
Document v1
Reuse
Original summaries; linked sources retain their own terms.

The original source supplies the underlying information. Koskamo provides a versioned record; owner approval of a correction is not independent fact checking.