Re: [pgsql-es-ayuda] Loggear consultas de triggers
motum hesa escribió: Desgraciadamente el log de PostgreSQL sólo me dice que el INSERT está tardando mucho, me gustaría saber qué consultas dentro del trigger están tardando tanto para poder empezar a optimizarlas,¿es esto posible?. Intente con log_statement=all pero no me sirivió mucho Usa auto_explain, que tiene una opción para registrar consultas internas. -- Álvaro Herrerahttp://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training Services - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripción: http://www.postgresql.org/mailpref/pgsql-es-ayuda
Re: [pgsql-es-ayuda] Loggear consultas de triggers
Yo en esos casos de apuro opto por el depurador del hombre pobre: Encierro las partes que quiero depurar con inicio = clock_timestamp(); .. .. [codigo codigo] fin = clock_timestamp(); raise notice 'tiempo de bloque de ejecucion = %', fin - inicio; Tambien podrias, claro, guardar los tiempos en una tabla. Supongo que con un par de iteraciones lograras encontrar la parte lenta. HTH Gerardo - Mensaje original - De: motum hesa mot...@gmail.com Para: Lista PostgreSQL pgsql-es-ayuda@postgresql.org Enviados: Miércoles, 19 de Agosto 2015 17:14:44 Asunto: [pgsql-es-ayuda] Loggear consultas de triggers Buenas tardes. Actualmente en un servidor estoy teniendo unos problemas pues un Insert está tardando más de 5 segundos, esta tabla tiene un trigger AFTER INSERT en este trigger se realizan algunos cálculos y consulta a otra tabla, una vez realizado los datos que están aquí son insertados a otra tabla, esta otra tabla a su vez tiene un trigger BEFORE INSERT, este es el trigger más pesado (más de 2 mil lineas) y realiza consultas, llamadas a funciones y al final inserta los datos procesados a una tabla histórica. Desgraciadamente el log de PostgreSQL sólo me dice que el INSERT está tardando mucho, me gustaría saber qué consultas dentro del trigger están tardando tanto para poder empezar a optimizarlas,¿es esto posible?. Intente con log_statement=all pero no me sirivió mucho Estoy usando PostgreSQL 9.3.8 en FreeBSD 10.1 Muchas gracias de antemano. - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripci�n: http://www.postgresql.org/mailpref/pgsql-es-ayuda
[pgsql-es-ayuda] Loggear consultas de triggers
Buenas tardes. Actualmente en un servidor estoy teniendo unos problemas pues un Insert está tardando más de 5 segundos, esta tabla tiene un trigger AFTER INSERT en este trigger se realizan algunos cálculos y consulta a otra tabla, una vez realizado los datos que están aquí son insertados a otra tabla, esta otra tabla a su vez tiene un trigger BEFORE INSERT, este es el trigger más pesado (más de 2 mil lineas) y realiza consultas, llamadas a funciones y al final inserta los datos procesados a una tabla histórica. Desgraciadamente el log de PostgreSQL sólo me dice que el INSERT está tardando mucho, me gustaría saber qué consultas dentro del trigger están tardando tanto para poder empezar a optimizarlas,¿es esto posible?. Intente con log_statement=all pero no me sirivió mucho Estoy usando PostgreSQL 9.3.8 en FreeBSD 10.1 Muchas gracias de antemano.
Re: [pgsql-es-ayuda] Loggear consultas de triggers
Gracias, utilizaré sus consejos. El 19 de agosto de 2015, 15:26, Gerardo Herzig gher...@fmed.uba.ar escribió: Yo en esos casos de apuro opto por el depurador del hombre pobre: Encierro las partes que quiero depurar con inicio = clock_timestamp(); .. .. [codigo codigo] fin = clock_timestamp(); raise notice 'tiempo de bloque de ejecucion = %', fin - inicio; Tambien podrias, claro, guardar los tiempos en una tabla. Supongo que con un par de iteraciones lograras encontrar la parte lenta. HTH Gerardo - Mensaje original - De: motum hesa mot...@gmail.com Para: Lista PostgreSQL pgsql-es-ayuda@postgresql.org Enviados: Miércoles, 19 de Agosto 2015 17:14:44 Asunto: [pgsql-es-ayuda] Loggear consultas de triggers Buenas tardes. Actualmente en un servidor estoy teniendo unos problemas pues un Insert está tardando más de 5 segundos, esta tabla tiene un trigger AFTER INSERT en este trigger se realizan algunos cálculos y consulta a otra tabla, una vez realizado los datos que están aquí son insertados a otra tabla, esta otra tabla a su vez tiene un trigger BEFORE INSERT, este es el trigger más pesado (más de 2 mil lineas) y realiza consultas, llamadas a funciones y al final inserta los datos procesados a una tabla histórica. Desgraciadamente el log de PostgreSQL sólo me dice que el INSERT está tardando mucho, me gustaría saber qué consultas dentro del trigger están tardando tanto para poder empezar a optimizarlas,¿es esto posible?. Intente con log_statement=all pero no me sirivió mucho Estoy usando PostgreSQL 9.3.8 en FreeBSD 10.1 Muchas gracias de antemano.