Я вызываю тестовые функции через файл wrappertest.psql. wrappertest.psql
select paymentfailedtest(); select paymentsuccesstest();
Функции тестирования размещены в файле testfunctions.psql.
В Postgresql, Функции не позволяют откатить / зафиксировать транзакцию. Вам необходимо использовать хранимую процедуру, чтобы использовать функции отката и фиксации.
CREATE PROCEDURE transaction_test1() LANGUAGE plpgsql AS $$ BEGIN FOR i IN 0..9 LOOP INSERT INTO test1 (a) VALUES (i); IF i % 2 = 0 THEN COMMIT; ELSE ROLLBACK; END IF; END LOOP; END $$; CALL transaction_test1();
см. https://www.postgresql.org/docs/11/plpgsql-transactions.html для получения дополнительной информации.