Estoy corriendo Postgresql 9.1
en Ubuntu. La versión exacta de Postgresql es 9.1+129ubuntu1
como muestra mi administrador de paquetes.
Tengo 2 bases de datos que se usan activamente y se usan desde un servidor remoto.
Deseo registrar consultas que tengan un largo tiempo de ejecución. Así que configuré los siguientes parámetros en el /etc/postgresql/9.1/main/postgresql.conf
archivo
log_min_duration_statement = 10000
log_statement = 'mod'
entonces Postgresql registrará consultas que demoren más de 10 segundos.
Pero cuando reload
configuro Postgres, Postgresql comienza a registrar cada consulta que se ajusta al log_statement
valor. Que establezca la duración en 100 segundos para estar seguro
log_min_duration_statement = 100000
Pero Postgresql sigue registrando cada consulta que se ajusta al log_statement
valor, independientemente del log_min_duration_statement
valor.
Establecer log_statement
a none
parecía dejar de iniciar sesión.
¿Hay algo que me haya perdido de la configuración?
fuente
log_statement
así quelog_min_duration_statement
debería funcionar?SELECT
,UPDATE
o alguna DDL), entonces sí.Respuestas:
Estabas cerca Su última idea es en realidad el camino a seguir:
Entonces, no se registrará ninguna declaración, excepto las que se ejecutan por más de 10 segundos, incluida la cadena de consulta en sí. El registro puede haber parecido detenerse porque 10 segundos es un umbral alto. Estoy usando 2 segundos normalmente, pero YMMV.
Esta respuesta relacionada en SO tiene más:
No se puede lograr que log_min_duration_statement funcione
fuente
log_statement
esnone
, por lo que no establecerlo o establecerlonone
tiene el mismo efecto.