sql >> Database teknologi >  >> RDS >> PostgreSQL

PostgreSQL - hvordan bestemmer man, om en transaktion er aktiv?

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...



  1. Sådan opretter du en rapport med rapportguiden i Microsoft Access

  2. Kan ikke oprette forbindelse til MySQL på Mac -- mangler mysql.sock-fil

  3. Hvad er grænsen for SQL-variabler, man kan angive i en enkelt execSQL-forespørgsel

  4. Sikkerhedskopiering af database i MySQL ved hjælp af C#