drop table if exists test1; create table test1 (x int); CREATE OR REPLACE PROCEDURE cursor_fail_during_commit() LANGUAGE plpgsql AS $$ DECLARE id int; BEGIN FOR id IN SELECT 1/(x-1000) FROM generate_series(1,1000) x LOOP INSERT INTO test1 VALUES(id); COMMIT; END LOOP; END; $$; set jit_above_cost=0; set jit_optimize_above_cost=0; set jit_inline_above_cost=0; CALL cursor_fail_during_commit();