Anselmo, eu procurei em "http://www.postgresql.org.br/historico". :)
Sua dica ajuda, mas não é exatamente disso que preciso. Eu quero saber o que está sendo executado pela transação XYZ em determinado momento. O problema é que aqui no meu servidor o "<IDLE> in transaction" não acontece a toda hora. Tudo está normal e de uma hora para outra várias transações passam a apresentar esse status. Depois, do nada, tudo volta ao normal. Como é uma coisa esporádica, fica complicado deixar o log_statment ativado (dica do Flavio). Ficou mais claro agora? Best regards, -- Miguel Eugênio Ramalho Bezerra, M.Sc. Federal University of Pernambuco, Brazil home: http://www.cin.ufpe.br/~merb/ twitter: @migueleugenio Em 21 de junho de 2012 10:42, Anselmo Silva <[email protected]>escreveu: > Só uma dica: busque na lista antes de fazer uma pergunta à comunidade. > A dica que te passei foi postada[1] há algum tempo, não é de autoria minha > > [1] > http://listas.postgresql.org.br/pipermail/pgbr-geral/2008-January/006194.html > > > Em 21 de junho de 2012 10:32, Flavio Henrique Araque Gurgel < > [email protected]> escreveu: > > >> Em 21-06-2012 10:25, Anselmo Silva escreveu: >> > SELECT >> > client_addr AS "estação", >> > D.datname AS "base de dados", >> > relname AS "tabela", >> > CASE >> > WHEN mode = 'AccessShareLock' THEN 'Acesso a tabela' >> > WHEN mode = 'ExclusiveLock' THEN 'Travamento da tabela' >> > WHEN mode = 'RowShareLock' THEN 'Acesso ao registro da tabela' >> > WHEN mode = 'RowExclusiveLock' THEN 'Travamento do registro da >> tabela' >> > END AS "modo" >> > FROM pg_locks L >> > INNER JOIN pg_class C ON C.oid = L.relation AND C.relkind = 'r' >> > INNER JOIN pg_database D ON D.oid = L.database >> > INNER JOIN pg_stat_activity S ON S.procpid = L.pid >> > WHERE >> > relname NOT LIKE 'pg_%' >> > ORDER BY modo, client_addr, relname; >> > >> > >> > >> > >> > Em 21 de junho de 2012 10:18, Miguel Bezerra <[email protected] >> > <mailto:[email protected]>> escreveu: >> > >> > Pessoal, >> > >> > Venho observando que existem diversas conexões com o status de >> > "<IDLE> in transaction" dentro do meu servidor. Algumas demoram >> > bastante para finalizar, enquanto outras nunca terminam. >> > >> > Imagina que esse status seja referente a transações em aberto. >> > >> > Gostaria de saber se existe alguma forma de executar algum tipo de >> > trace, via postgres, e verificar o que está sendo executado dentro >> > dessas transações. >> > >> >> Além da dica do Anselmo, pra você visualizar 100% do que uma transação >> está fazendo, você pode habilitar log_statement no conf e observar todas >> as transações, cada consulta executada, na sequência, direto no log do >> PostgreSQL. >> >> Só lembre-se de ativar esse parâmetro por um pequeno período de tempo, >> senão seu log vai ficar gigante. É um parâmetro que não requer reinício >> do PostgreSQL, só reload, não causa indisponibilidade. >> >> []s >> >> Flavio Henrique A. Gurgel >> Consultor e Instrutor 4Linux >> Tel: +55-11-2125-4747 >> www.4linux.com.br >> _______________________________________________ >> pgbr-geral mailing list >> [email protected] >> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >> > > > > -- > Anselmo M. Silva > > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > >
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
