Estou executando Postgresql 9.1
no Ubuntu. A versão exata do Postgresql é 9.1+129ubuntu1
como meu gerenciador de pacotes mostra.
Eu tenho 2 bancos de dados ativamente em uso e eles são usados em um servidor remoto.
Desejo registrar consultas com um longo tempo de execução. Então eu defino os seguintes parâmetros no /etc/postgresql/9.1/main/postgresql.conf
arquivo
log_min_duration_statement = 10000
log_statement = 'mod'
então o Postgresql registrará consultas que levam mais de 10 segundos.
Mas quando eu reload
configuro o postgres, o Postgresql começa a registrar todas as consultas que se ajustam ao log_statement
valor. Que eu defino a duração para 100 segundos para ter certeza
log_min_duration_statement = 100000
Mas o Postgresql continua registrando todas as consultas que se ajustam ao log_statement
valor, independentemente do log_min_duration_statement
valor.
Definir log_statement
para none
parecia parar de registrar.
Há algo que eu perdi na configuração?
fonte
log_statement
paralog_min_duration_statement
que funcione?SELECT
,UPDATE
ou alguma DDL), então sim.Respostas:
Você estava perto. Sua última idéia é realmente o caminho a seguir:
Em seguida, nenhuma instrução será registrada, exceto aquelas executadas por mais de 10 segundos - incluindo a própria string de consulta. O registro pode ter parado porque 10 segundos é um limite alto. Estou usando 2 segundos normalmente, mas YMMV.
Esta resposta relacionada ao SO tem mais:
Não é possível obter log_min_duration_statement para funcionar
fonte
log_statement
énone
, portanto, não defini-lo ou defini-lo comonone
tem o mesmo efeito.