Quero perfil (manter um olho em) todas as atividades que se passa em um banco de dados que está em PostgreSQL.
Existe algum exemplo de utilitário que vai me ajudar a fazer isso?
Quero perfil (manter um olho em) todas as atividades que se passa em um banco de dados que está em PostgreSQL.
Existe algum exemplo de utilitário que vai me ajudar a fazer isso?
Bem, se você está olhando para o que está acontecendo, em relação seleciona, atualizações, exclusões, e assim por diante, existem algumas vistas no pg_catalogesquema, eu uso principalmente pg_stat_user_tablese pg_stat_user_indexes, mas há muitos mais, tudo dentro pg_stat*.
Há também a pg_stat_activityvisão que lhe diz o que está em execução no servidor no momento.
Eu cortei juntos quatro plugins Munin que usa o user_tables e USER_INDEXES, eles estão disponíveis lá
Dê uma olhada no roteiro Nagios-Plugin ou check_postgres.pl
"Fique de olho no" e "perfil" são duas tarefas completamente diferentes em minha opinião.
Para profiling (não uma exibição ao vivo sobre o que está acontecendo agora, mas para ver quais consultas levar mais tempo etc), confira pgFouine:
http://pgfouine.projects.postgresql.org/
Isso permitirá que você veja quais consultas são recurso intensivo, e tomar medidas adequadas: Adicionar índices faltando, reescrever consultas usando outras técnicas de análise etc.
Para "manter um olho", eu uso pgtop , um programa que imita deliberadamente comando Unix 'top'.
Desde rebra responder a uma outra ferramenta de perfil pgbadgersaiu. Você pode encontrá-lo aqui:
http://dalibo.github.io/pgbadger/
você pode obter um relatório muito detalhado e gráficos.
pgfouine não é mais mantida, última atualização foi em 2010.