Postgres kører PL/pgSQL
inde i transaktionen. Du kan derfor ikke kontrollere transaktionen inde fra PL/pgSQL
. Koden vil se sådan ud:
begin;
select plpgsql_fn();
do '/*same any plpgsql*/';
end;
Så besvarer dit spørgsmål:
Hvis du har PL/pgSQL
kører ATM, har du din transaktion aktiv ATM...
Selvfølgelig kan du lave et trick, som at starte/afslutte arbejde over dblink
eller sådan. men så kan du tjekke select txid_current();
over dblink
med succes...