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

Hvad står TX- og XID-fraktioner for i postgres pgadmin-værktøjet

Virtuelle transaktions-id'er har formatet "n/nnnn". Ægte XID'er er bare heltal. Den første del af det virtuelle xid er en backend-id, der er unik for hver forbindelse; den anden del er et midlertidigt transaktions-id, der er tildelt af denne forbindelses backend til dens transaktioner.

Se definitionen af ​​VirtualTransactionId i src/include/storage/lock.h for detaljer.

Disse kolonner ser ud til at svare til virtualxid og/eller transactionid og virtualtransaction kolonner i pg_locks . Se dokumenterne .

Hvis jeg har ret i det, så:

  • "TX" er det virtuelle transaktions-id for den transaktion, der holder eller afventer låsen.
  • "XID" er det virtuelle transaktions-id for den transaktion, som den ventende transaktion målretter mod, hvis målet er en virtuel xid. I PgAdmin kan det også vise xid'et for målet, hvis det er et normalt xid.

Virtuelle transaktions-id'er er midlertidige, forbigående transaktions-id'er, som PostgreSQL allokerer til hver transaktion ved transaktionens start. De er ikke optaget på disken. Et rigtigt xid tildeles kun, når transaktionen gør noget, der kræver en transaktionsskrivning til disk.

Ifølge den linkede manual:




  1. mysql ændre int kolonne til bigint med fremmednøgler

  2. Opret materialiseret visning, der opdaterer optegnelser dagligt

  3. MySQL wait_timeout bliver ikke respekteret for lang forespørgsel?

  4. Har et problem med at få mysqli_query til at udføre