04/11/2011, 22:36
|
| Colaborador | | Fecha de Ingreso: febrero-2009 Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses Puntos: 360 | |
Respuesta: unexpected EOF on client connection Deadlock detected.
Este sucede cuando usas transacciones. En resumen es:
sesion 1 modifica registro 1. (queda bloqueado para otras sesiones)
sesion 2 modifica registro 2. (queda bloqueado para otras sesiones)
sesion 2 modifica registro 1. (queda a la espera que la sesion 1 libere el recurso (desbloquee))
sesion 1 modifica registro 2. (En este punto, postgresql genera error de deadlocks)
si no lo controlara, ambas transacciones quedarían bloqueadas a la espera que una de las 2 desbloquie los registros por los que esperan, pero a su vez, al estar bloqueados no pueden desbloquear los registros que tienen bloqueados.
Puedes escanear constantemente la tabla pg_locks para tener un control de los bloqueos que realizas.
Este rpoblema puede traer los otros que reportas.
Tu memoria ram no logra almacenar todos los bloques que solicitas.
tienes serios problemas de contención.
SI tienes estos problemas es por que tu BD es bien transaccional y sin duda postgresql te da la talla, sin embargo requiere de una administración mas exaustiva para mantener la base estable y funcional
Te recomiendo empezar a estudiar la arquitectura de postgresql y administrarlo adecuadamente.
saludos
__________________ Without data, You are another person with an opinion.
W. Edwads Deming |