Postgres draait PL/pgSQL binnen de transactie. U kunt de transactie dus niet van binnenuit beheren PL/pgSQL . De code ziet er als volgt uit:
begin;
select plpgsql_fn();
do '/*same any plpgsql*/';
end;
Dus antwoord op je vraag:
Als u PL/pgSQL . heeft ATM draait, je hebt je transactie actief ATM...
Natuurlijk kun je een trucje doen, zoals het starten/beëindigen van werk via dblink of zo. maar dan kun je select txid_current(); . aanvinken over de dblink succesvol...