Postgres führt PL/pgSQL
aus innerhalb der Transaktion. Daher können Sie Transaktionen nicht innerhalb von PL/pgSQL
steuern . Der Code sieht folgendermaßen aus:
begin;
select plpgsql_fn();
do '/*same any plpgsql*/';
end;
Also zur Beantwortung Ihrer Frage:
Wenn Sie PL/pgSQL
haben Wenn Sie ATM ausführen, haben Sie Ihre Transaktion aktiv ATM ...
Natürlich können Sie einige Tricks anwenden, wie z. B. das Starten/Beenden der Arbeit über dblink
oder so. aber dann können Sie select txid_current();
überprüfen über den dblink
erfolgreich...