Hola a todos, actualmente tengo una base de datos en postgres 9.3, hay un script que esta tratando de actualizar una fila en una tabla, es un simple update, pero hoy se trataron de ejecutar 388 procesos con el mismo querry (conte cuantos procesos habian en pg_activity con el mismo query) y se creo un conflicto con los locks que el servidor se reinicio, no estamos hablando de un servidor pequeno, estamos hablando de 500 Gb de RAM y 126 procesadores. si no mal recuerdo.
La configuracion del servidor no la hice yo, actualmente me encuentro revisandola y proponiendo algunos cambios, pero esta situacion de los locks surgio de improvisto y estamos figurando como podemos contribuir desde la base de datos para evitar que el servidor caiga de nuevo hasta que encuentren el script que esta afectando tan drasticamente nuestro servidor. Les agradeceria cualquier surgerencia, una vez que encuentre la solucion les dejare saber. A continuacion algunos parametros: shared_buffers: 8GB vamos a subirlo a 64GB aunque el kerne permite 124 GB si no mal recuerdo. deadlock_timeout: 5s lock_timeout: 10s log_lock_wait: on max_locks_per_transaction: 128 max_connections: 600 revisando el log the postgres encontramos: ERROR: out of shared memory HINT: you might need to increase max_locks_per_transaction Una pregunta, postgres no deberia identificar y eliminar aquellos procesos que estan esperando porque la tabla tupla sea liberada despues de cierto tiempo? Estos procesos estuvieron corriendo por casi 27 minutos. Ante todo gracias por cualquier ayuda o sugerencia. Carlos.