Postgres esegue PL/pgSQL
all'interno della transazione. Quindi non puoi controllare la transazione dall'interno di PL/pgSQL
. Il codice sarà simile a:
begin;
select plpgsql_fn();
do '/*same any plpgsql*/';
end;
Quindi rispondendo alla tua domanda:
Se hai PL/pgSQL
con ATM, hai la transazione ATM attiva...
Ovviamente puoi fare qualche trucco, come iniziare/terminare il lavoro su dblink
o simili. ma poi puoi controllare select txid_current();
sopra il dblink
con successo...