sql >> Database >  >> RDS >> PostgreSQL

Waar staan ​​TX- en XID-breuken voor in de postgres pgadmin-tool

Virtuele transactie-ID's hebben de indeling "n/nnnn". Echte XID's zijn gewoon gehele getallen. Het eerste deel van de virtuele xid is een backend-ID die uniek is voor elke verbinding; het tweede deel is een tijdelijke transactie-ID toegewezen door de backend van die verbinding voor zijn transacties.

Zie de definitie van VirtualTransactionId in src/include/storage/lock.h voor details.

Die kolommen lijken overeen te komen met de virtualxid en/of transactionid en virtualtransaction kolommen in pg_locks . Zie de documenten .

Als ik daarin gelijk heb, dan:

  • "TX" is de virtuele transactie-ID van de transactie die vasthoudt of wacht op de vergrendeling.
  • "XID" is de virtuele transactie-ID van de transactie waarop de wachtende transactie zich richt, als het doel een virtuele xid is. In PgAdmin kan het ook de xid van het doel tonen als het een normale xid is.

Virtuele transactie-ID's zijn tijdelijke, tijdelijke transactie-ID's die PostgreSQL aan elke transactie toewijst bij het starten van de transactie. Ze worden niet op schijf opgenomen. Een echte xid wordt alleen toegewezen wanneer de transactie iets doet waarvoor een transactie naar schijf moet worden geschreven.

Volgens de gekoppelde handleiding:




  1. Tabel converteren van MyISAM naar INNODB

  2. Hoe de sortering van database, tabel, kolom wijzigen?

  3. Hoe lege spaties uit SQL*Plus-query te verwijderen?

  4. querycache werkt niet