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

Co oznaczają ułamki TX i XID w narzędziu pgadmin postgres

Identyfikatory transakcji wirtualnych mają format „n/nnnn”. Rzeczywiste identyfikatory XID to tylko liczby całkowite. Pierwsza część wirtualnego xid to identyfikator zaplecza, który jest unikalny dla każdego połączenia; druga część to tymczasowy identyfikator transakcji przypisywany przez zaplecze tego połączenia dla jego transakcji.

Zobacz definicję VirtualTransactionId w src/include/storage/lock.h po szczegóły.

Te kolumny wydają się odpowiadać virtualxid i/lub transactionid i virtualtransaction kolumny w pg_locks . Zobacz dokumentację .

Jeśli mam rację, to:

  • "TX" to wirtualny identyfikator transakcji trzymającej lub oczekującej na blokadę.
  • "XID" jest wirtualnym identyfikatorem transakcji, do której skierowana jest oczekująca transakcja, jeśli celem jest wirtualny xid. W PgAdmin może również pokazywać xid celu, jeśli jest to normalny xid.

Wirtualne identyfikatory transakcji to tymczasowe, przejściowe identyfikatory transakcji, które PostgreSQL przydziela każdej transakcji na początku transakcji. Nie są zapisywane na dysku. Rzeczywisty xid jest przydzielany tylko wtedy, gdy transakcja wykonuje coś, co wymaga transakcyjnego zapisu na dysku.

Zgodnie z połączonym podręcznikiem:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy przypadek ma znaczenie, gdy „auto” ładuje dane z S3 do tabeli Redshift?

  2. Zapytanie SQL, aby uzyskać wszystkie wartości, jakie może mieć wyliczenie

  3. Zgrupowane LIMIT w PostgreSQL:pokazać pierwsze N ​​wierszy dla każdej grupy?

  4. Zapytanie ActiveRecord znacznie wolniej niż prosty SQL?

  5. php jak używać pola wyboru do wyszukiwania danych w widoku listy (tabela)