Parsed test spec with 4 sessions starting permutation: rx1 wx2 c2 wx3 ry3 wy4 rz4 c4 c3 wz1 c1 step rx1: SELECT * FROM t WHERE id = 1000000; id|txt -------+--- 1000000| (1 row) step wx2: UPDATE t SET txt = 'b' WHERE id = 1000000; step c2: COMMIT; step wx3: UPDATE t SET txt = 'c' WHERE id = 1000000; step ry3: SELECT * FROM t WHERE id = 500000; id|txt ------+--- 500000| (1 row) step wy4: UPDATE t SET txt = 'd' WHERE id = 500000; step rz4: SELECT * FROM t WHERE id = 1; id|txt --+--- 1| (1 row) step c4: COMMIT; step c3: COMMIT; step wz1: UPDATE t SET txt = 'a' WHERE id = 1; ERROR: could not serialize access due to read/write dependencies among transactions step c1: COMMIT;