Cosa significa quando un processo PostgreSQL è “inattivo nella transazione”?

StackOverflow https://stackoverflow.com/questions/51019

  •  09-06-2019
  •  | 
  •  

Domanda

Cosa significa quando a PostgreSQL il processo è "inattivo nella transazione"?

Su un server che sto guardando, nell'output di "ps ax | grep postgres" vedo 9 processi PostgreSQL simili ai seguenti:

postgres: user db 127.0.0.1(55658) idle in transaction

Ciò significa che alcuni processi sono bloccati, in attesa del commit di una transazione?Eventuali indicazioni sulla documentazione pertinente sono apprezzate.

È stato utile?

Soluzione

IL Manuale PostgreSQL indica che ciò significa che la transazione è aperta (all'interno di BEGIN) e inattiva.Molto probabilmente è un utente connesso tramite il monitor che sta pensando o digitando.Ne ho molti anche nel mio sistema.

Se utilizzi Slony per la replica, tuttavia, il file Domande frequenti su Slony-I suggerisce idle in transaction potrebbe significare che la connessione di rete è stata interrotta improvvisamente.Controlla la discussione in quella FAQ per maggiori dettagli.

Altri suggerimenti

Come accennato qui: Rif:ERRORE n. 4243:Inattivo nella transazione probabilmente è meglio controllare la tabella pg_locks per vedere cosa viene bloccato e questo potrebbe darti un indizio migliore su dove si trova il problema.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top