Parsed test spec with 2 sessions starting permutation: update2 insert1 c2 select1surprise c1 step update2: UPDATE colors SET is_active = true WHERE key = 1; step insert1: WITH t AS ( INSERT INTO colors(key, color, is_active) VALUES(1, 'Brown', true), (2, 'Gray', true) ON CONFLICT (key) DO UPDATE SET color = EXCLUDED.color WHERE colors.is_active) SELECT * FROM colors ORDER BY key; step c2: COMMIT; step insert1: <... completed> key|color|is_active ---+-----+--------- 1|Red |f 2|Green|f 3|Blue |f (3 rows) step select1surprise: SELECT * FROM colors ORDER BY key; key|color|is_active ---+-----+--------- 1|Brown|t 2|Green|f 3|Blue |f (3 rows) step c1: COMMIT;