Serializability is the strongest isolation level, and implementing it without crushing throughput is the hard part. Most databases approximate it with snapshot isolation, which permits write skew. Postgres added true serializable snapshot isolation in 9.1 by tracking read-write dependencies and aborting transactions that would form a dangerous cycle. The cost is retry pressure under contention, which is why we kept the hot path on repeatable read and reserved serializable for the two ledger tables where correctness beats latency.