Carlos T. Groero Carmona escribió:

> 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)

Un problema típico con updates es que tienes una llave foránea que
apunta a la tabla que estás actualizando, y la tabla del otro lado no
tiene índice.  La solución es agregar índices en las columnas que hacen
referencia.

> revisando el log the postgres encontramos:
> 
> ERROR: out of shared memory

Sube max_locks_per_transaction a 10x el valor actual, son sólo unos
pocos kilobytes.  Pero no creo que esta sea la causa del problema, sólo
una consecuencia más.

> Una pregunta, postgres no deberia identificar y eliminar aquellos procesos
> que estan esperando porque la tabla tupla sea liberada despues de cierto
> tiempo?

Como tienes lock_timeout, tu problema seguramente no fue de locks sino
de lentitud.

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Reply via email to