Parsed test spec with 4 sessions starting permutation: s1_advlock s2_update s3_update s4_update s1_chain s1_begin s1_grablock s1_advunlock1 s1_advunlock2 s1_advunlock3 s1_commit step s1_advlock: SELECT pg_advisory_lock(142857), pg_advisory_lock(285714), pg_advisory_lock(571428); pg_advisory_lockpg_advisory_lockpg_advisory_lock step s2_update: UPDATE pktab SET data = DEFAULT WHERE pg_advisory_lock_shared(142857) IS NOT NULL; step s3_update: UPDATE pktab SET data = DEFAULT WHERE pg_advisory_lock_shared(285714) IS NOT NULL; step s4_update: UPDATE pktab SET data = DEFAULT WHERE pg_advisory_lock_shared(571428) IS NOT NULL; step s1_chain: UPDATE pktab SET data = DEFAULT; step s1_begin: BEGIN; step s1_grablock: SELECT * FROM pktab FOR KEY SHARE; id data 1 2 step s1_advunlock1: SELECT pg_advisory_unlock(142857); pg_advisory_unlock t step s2_update: <... completed> step s1_advunlock2: SELECT pg_sleep(5), pg_advisory_unlock(285714); pg_sleep pg_advisory_unlock t step s3_update: <... completed> step s1_advunlock3: SELECT pg_sleep(5), pg_advisory_unlock(571428); pg_sleep pg_advisory_unlock t step s4_update: <... completed> step s1_commit: COMMIT;