Em 21 de junho de 2012 11:30, Miguel Bezerra <[email protected]> escreveu:
> Pessoal,
>
> Já que a informação que preciso só vem via log, [...  corte ...]

Relendo o tópico, haveria um pequeno adendo, um "pouco" intrusivo:
a variável 'application_name' [1].

Isto exigiria uma mudança em código (que a princípio é simples,
basta chamar SET application_name TO 'relatorio_x';), mas você
conseguiria visualizar na 'pg_stat_activity' [2] qual "aplicação" está
"utilizando" aquela sessão.

Ter este valor definido por conexão e alterado eventualmente pode
de ajudar a descobrir algumas coisas também, porém é mais intrusivo.

Obviamente definir esse valor para _qualquer_ consulta gera um overhead,
mas pense nas possibilidade em que isto pode ser realmente útil.

Se quiser testar a diferença de algumas consultas com/sem esta
variável definida veja estes exemplos com médias de 4 execuções
cada:

# sem variavel
$ time for i in $(seq 1 100000); do echo "SELECT 1+1;"; done | psql 1>/dev/null

real    0m6.704s
user    0m2.108s
sys     0m0.812s

# com variavel
$ time for i in $(seq 1 100000); do echo "SET application_name TO
'conexao$i' ; SELECT 1+1;"; done | psql 1>/dev/null

real    0m14.300s
user    0m4.160s
sys     0m2.060s


[1] 
http://www.postgresql.org/docs/9.1/static/runtime-config-logging.html#GUC-APPLICATION-NAME
[2] 
http://www.postgresql.org/docs/9.1/static/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE

[]s
-- 
Dickson S. Guedes
mail/xmpp: [email protected] - skype: guediz
http://guedesoft.net - http://www.postgresql.org.br
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a