begin; values ('for key share') /*, ('') */ order by random() limit 1 \gset select pg_sleep(random() * 0.03); select id from t where id=3 :column1 ; select random() > .0 as update \gset \if :update select pg_sleep(random() * 0.03); update t set x=x+1 where id=3; \endif /* select random() > .0 as update2 \gset \if :update2 savepoint foo; update t set x=x+1 where id=3; \endif select random() > .5 as rollback_to \gset \if :rollback_to rollback to foo; \endif */ select random() > .0 as commit \gset \if :commit commit; \else rollback; \endif select pg_sleep(random() * 0.03); vacuum freeze t;