¿Qué significa cuando un proceso PostgreSQL está "inactivo en transacción"?

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

  •  09-06-2019
  •  | 
  •  

Pregunta

¿Qué significa cuando un PostgreSQL ¿El proceso está "inactivo en transacción"?

En un servidor que estoy viendo, en la salida de "ps ax | grep postgres" veo 9 procesos PostgreSQL que se parecen a lo siguiente:

postgres: user db 127.0.0.1(55658) idle in transaction

¿Significa esto que algunos de los procesos están colgados, esperando que se confirme una transacción?Se agradece cualquier sugerencia sobre la documentación relevante.

¿Fue útil?

Solución

El manual de postgresql indica que esto significa que la transacción está abierta (dentro de BEGIN) e inactiva.Lo más probable es que sea un usuario conectado mediante el monitor el que esté pensando o escribiendo.También tengo muchos de esos en mi sistema.

Sin embargo, si está utilizando Slony para la replicación, el Preguntas frecuentes sobre Slony-I sugiere idle in transaction puede significar que la conexión de red se terminó abruptamente.Consulte la discusión en esas preguntas frecuentes para obtener más detalles.

Otros consejos

Como se menciona aquí: Re:ERROR #4243:Inactivo en transacción Probablemente sea mejor revisar su tabla pg_locks para ver qué se está bloqueando y eso podría darle una mejor idea de dónde radica el problema.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top