sql >> Databasteknik >  >> RDS >> PostgreSQL

PostgreSQL - hur avgör man om en transaktion är aktiv?

Postgres kör PL/pgSQL inuti transaktionen. Du kan alltså inte kontrollera transaktionen inifrån PL/pgSQL . Koden kommer att se ut så här:

begin;
  select plpgsql_fn();
  do '/*same any plpgsql*/';
end;

Så svarar på din fråga:

Om du har PL/pgSQL kör ATM, har du din transaktion aktiv ATM...

Naturligtvis kan du göra några knep, som att starta/sluta arbete över dblink eller så. men då kan du kontrollera select txid_current(); över dblink framgångsrikt...



  1. Vad är skillnaden mellan att använda en korskoppling och att sätta ett kommatecken mellan de två tabellerna?

  2. Kan jag undvika dubbla citattecken i kolumntitlar med Oracle?

  3. Hur får man bara den första nivån av djupa barnnoder?

  4. Hur man installerar MySQL på CentOS 7