sql >> Databáze >  >> RDS >> PostgreSQL

Co znamenají zlomky TX a XID v nástroji postgres pgadmin

ID virtuálních transakcí mají formát „n/nnnn“. Skutečná XID jsou jen celá čísla. První část virtuálního xid je backendový identifikátor, který je jedinečný pro každé připojení; druhá část je dočasné ID transakce přiřazené backendem tohoto připojení pro jeho transakce.

Viz definice VirtualTransactionId v src/include/storage/lock.h pro podrobnosti.

Zdá se, že tyto sloupce odpovídají virtualxid a/nebo transactionid a virtualtransaction sloupce v pg_locks . Viz dokumenty .

Pokud mám pravdu, pak:

  • „TX“ je virtuální ID transakce, která drží nebo čeká na uzamčení.
  • „XID“ je ID virtuální transakce transakce, na kterou je cílová čekající transakce, pokud je cílem virtuální xid. V PgAdmin může také zobrazovat xid cíle, pokud je to normální xid.

ID virtuálních transakcí jsou dočasná, přechodná ID transakcí, která PostgreSQL přiděluje každé transakci na začátku transakce. Nejsou zaznamenány na disku. Skutečný xid je přidělen pouze tehdy, když transakce provádí něco, co vyžaduje transakční zápis na disk.

Podle propojeného návodu:




  1. Jak UPDATE z SELECT na SQL Server

  2. PostgreSQL:Smyčka, dokud není podmínka pravdivá

  3. Nemohu přidat Microsoft.SqlServer.Management.Common do své aplikace ASP.NET MVC

  4. Můžete znovu použít sadu výsledků mysql v PHP?