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 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 step wy4: UPDATE t SET txt = 'd' WHERE id = 500000; step rz4: SELECT * FROM t WHERE id = 1; id txt 1 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;