PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

PostgreSQL - jak sprawdzić czy transakcja jest aktywna?

Postgres uruchamia PL/pgSQL wewnątrz transakcji. Dlatego nie możesz kontrolować transakcji z wnętrza PL/pgSQL . Kod będzie wyglądał następująco:

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

Więc odpowiadając na twoje pytanie:

Jeśli masz PL/pgSQL uruchomiony bankomat, masz aktywną transakcję w bankomacie...

Oczywiście możesz zrobić kilka sztuczek, takich jak rozpoczęcie/zakończenie pracy nad dblink lub tak. ale wtedy możesz sprawdzić select txid_current(); nad dblink pomyślnie...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nazwa tabeli jako parametr funkcji PostgreSQL

  2. Dlaczego funkcja json_agg() PostgreSQL nie zwraca pustej tablicy?

  3. Funkcje zwracania zestawu nie są dozwolone w UPDATE podczas korzystania z Postgres 10

  4. Docker- django zgłasza błąd podczas łączenia się z postgres:psycopg2.OperationalError:nie można połączyć się z serwerem:Połączenie odrzucone

  5. Błąd Ruby/PgSQL przy starcie Railsów:nie można załadować takiego pliku -- pg_ext (LoadError)