Postgres изпълнява PL/pgSQL
вътре в транзакцията. По този начин не можете да контролирате транзакцията отвътре PL/pgSQL
. Кодът ще изглежда така:
begin;
select plpgsql_fn();
do '/*same any plpgsql*/';
end;
И така, отговаряйки на въпроса ви:
Ако имате PL/pgSQL
работещ банкомат, вашата транзакция е активна банкомат...
Разбира се, можете да направите някои трикове, като например започване/завършване на работа през dblink
или такива. но след това можете да проверите select txid_current();
през dblink
успешно...