PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

O que as frações TX e XID representam na ferramenta postgres pgadmin


Os IDs de transações virtuais têm o formato "n/nnnn". XIDs reais são apenas inteiros. A primeira parte do xid virtual é um identificador de back-end exclusivo para cada conexão; a segunda parte é um ID de transação temporário atribuído pelo backend dessa conexão para suas transações.

Veja a definição de VirtualTransactionId em src/include/storage/lock.h para detalhes.

Essas colunas parecem corresponder ao virtualxid e/ou transactionid e virtualtransaction colunas em pg_locks . Consulte os documentos .

Se eu estiver correto nisso, então:
  • "TX" é o ID da transação virtual da transação que retém ou aguarda o bloqueio.
  • "XID" é o ID da transação virtual da transação de destino da transação em espera, se o destino for um xid virtual. No PgAdmin, ele também pode mostrar o xid do alvo se for um xid normal.

IDs de transações virtuais são IDs de transações temporárias e transitórias que o PostgreSQL aloca para cada transação no início da transação. Eles não são gravados em disco. Um xid real só é alocado quando a transação faz algo que requer uma gravação transacional em disco.

De acordo com o manual vinculado: