Sergio Gabriel Rodriguez escribió:
2009/11/25 Manuel Pernalete <mpernaletetor...@gmail.com <mailto:mpernaletetor...@gmail.com>>

    Hola a todos!
    Mi duda es que tengo una function en postgres que hace muchas
    cosas las cuales no explico para no entrar en detalle
    pero el volumen de informacion que se maneja es bastante alto
    tanto asi que la tabla que tiene menos registros es de mas de 2
    millones, entonces cuando ejecuto la funcion en postgres esta duro
    ejecutandose 7 dias corridos....
Entonces quiero saber si hay alguna forma de configurar el
    postgres para asignarle mas CPU y mas memoria y mas cache de tal
    manera que esa funcion se ejecute en su totalidad al menor tiempo
    posible
Muchas Gracias
    Manuel Pernalete
    Barquisimeto - Venezuela


Hola manuel, 7 días corridos me parece algo extremadamente exagerado.. podrías indicarnos lo sgte:

- Sobre que Hardware corre tu sistema
- Sistema operativo
- Versión de Postgres
- parámetros de tu postgresql.conf: shared buffers, cache, work mem
- Corres tareas de mantenimiento sobre tu base? vacuum analyze?
- a grandes rasgos qué hace tu función? podrias copiarla?


Saludos

Sergio Gabriel Rodríguez
http://www.3trex.com.ar
Corrientes - Argentina

Tambien me parece un poco exagerado el tiempo de la consulta, ha visto reportes de más de 20 millones de registros que se demoran de 25 a 30 mins como máximo. Esto era en 8.3, pero cuando se migró uno de los servers a 8.4, la respuesta bajo considerablemente y ahora lo hace en 8,6 mins, lo cual es casi un 30% por debajo de lo antes se demoraba.

Pudieras poner la siguiente informacion a parte de la que te pidio Sergio.

SELECT locktype, database, relation, vistualxid, transactionid,pid,mod, granted from pg_locks;

Para ver los locks que estna presentes en tu sistema.

2- Luego ejecuta: SELECT * FROM pg_stat_actitivy WHERE procpid = num_id_transaccion que esta bloqueando el sistema en caso de que tengas alguna.

Gracias a Álvaro y a Jaime por la aclaración, ésta es una de las herramientas por donde ver cuáles son las transacciones que se están comiendo lentamente el sistema.


Saludos




--
-------------------------------------
"TIP 4: No hagas 'kill -9' a postmaster"
Ing. Marcos Luís Ortíz Valmaseda
PostgreSQL System DBA Centro de Tecnologías de Almacenamiento y Anális de Datos (CENTALAD)
Universidad de las Ciencias Informáticas

Linux User # 418229
http://www.postgresql-es.org
http://www.postgresql.org
http://www.planetpostgresql.org



--
TIP 7: no olvides aumentar la configuración del "free space map"

Responder a