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...