Re: [pgsql-es-ayuda] Loggear consultas de triggers

2015-08-19 Por tema Alvaro Herrera
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

2015-08-19 Por tema Gerardo Herzig
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

2015-08-19 Por tema motum hesa
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

2015-08-19 Por tema motum hesa
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.