Visualizar consultas correntes no Postgresql

Para que seja possível visualizar uma consulta corrente no postgresql, não é necessário nenhuma solução milagrosa, pelo contrário, é muito simples.

Primeiramente é necessário habilitar o parâmetro stats_command_string com o valor true no arquivo de configuração postgresql.conf.

stats_command_string = true

Esta configuração pode ser alterada com o banco de dados ativo, sem necessidade de reiniciá-lo. Para isto basta executar o seguinte comando após realizar a alteração.

pg_ctl reload

Ao ser habilitado o parâmetro stats_command_string o postgresql passa a armazenar em pg_stat_activity a query que está sendo executada.

É importante notar que esta alteração irá causar algum retardo e perda de performance, adicionando uma sobrecarga adicional aos comandos do banco de dados, portanto é necessário avaliar o benefício trago por esta modificação.

Para que você possa visualizar a consulta que esta sendo realizada no momento, realize a seguinte query.

select datname, procpid, query_start, current_query, client_addr
from pg_stat_activity

o resultado será algo como:

datname | procpid |     query_start     |     current_query
--------+---------+---------------------+-----------------------
banco1  |  49111  | 2008-06-12 14:40:37 | select * from tabela1
banco2  |  49112  | 2008-06-12 14:53:37 | select * from tabela2

Pronto, agora você consegue saber exatamente a consulta corrente que está sendo executada no postgresql.

Explore posts in the same categories: postgresql

Tags: ,

You can comment below, or link to this permanent URL from your own site.

Comment: