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]>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.
>
>
> Obrigado.
>
> Best regards,
> --
> Miguel Eugênio Ramalho Bezerra, M.Sc.
> Federal University of Pernambuco, Brazil
> home: http://www.cin.ufpe.br/~merb/
> twitter: @migueleugenio
>
> _______________________________________________
> 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

Responder a