> > Hola amigos, >> > Hoy volvio a suceder la situacion con los locks, la situacion fue la misma y en la misma tabla, la query es casi la misma, recivimos una alerta de New Relic, el uso del CPU subio ~100%. Revisamos la tabla pg__stat_activity, existian ~ 375 procesos en espera de escribir en la tabla donde estaba el lock, encontramos el lock, lo eliminamos y el resto de los procesos desaparecieron.
revisando los logs encontre: LOG: process 1234 still waiting for ShareLock on transaction zzzzzzzz after 5000.237 ms 1234 ERROR: canceling statement due to lock timeout ...el mismo PID nota: lock_timeout = 10s y por cada update que estaba esperando encontre un sharedlock, pero no habia nada en los logs acerca de los insert que encontre en pg_stat_activity que ivan a ejecutarse en la misma tabla donde estaban los locks. Calcule el thresold de la tabla y es solo un 24%. Pos lo que les quiero preguntar: 1. hay alguna manera de prevenir que esto suceda? 2. Existe alguna herramienta para monitorear los locks de mi base de datos? En fin, cualquier ayuda o sugerencia sera apreciada. Saludos