Postgres menjalankan PL/pgSQL di dalam transaksi. Dengan demikian Anda tidak dapat mengontrol transaksi dari dalam PL/pgSQL . Kode akan terlihat seperti:
begin;
select plpgsql_fn();
do '/*same any plpgsql*/';
end;
Jadi menjawab pertanyaan Anda:
Jika Anda memiliki PL/pgSQL menjalankan ATM, Anda memiliki ATM aktif transaksi Anda...
Tentu saja Anda dapat melakukan beberapa trik, seperti memulai/mengakhiri pekerjaan melalui dblink atau semacamnya. tetapi kemudian Anda dapat memeriksa select txid_current(); melalui dblink berhasil...