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