On 01-02-2013 15:09, direisc wrote: > Eu tenho uma aplicação JBOSS utilizando hibernate e postgres e outros > detalhes talves menos importante que gera frequentemente uma conexão *<IDLE> > in transaction*, gostaria de saber se isso é comum se há como contornar ou > se eu devo desesperadamente migrar para um lugar que não faça isso. > Isso é um problema na sua aplicação ou no servidor de aplicações e *não* do postgres. Investigue quais são as funcionalidades da aplicação que estão deixando transações neste estado e corrija-as.
> Pergunto isso pois estou num ambiente deveras controlado, onde as conexões > *<IDLE> in transaction * são encerradas pelo administrador quando passam > mais de 10 minutos nesse estado. > Por que? Se for simplesmente para conter o esgotamento de conexões, isso seria somente um paliativo (que pode causar problemas sérios -- vide último caso abaixo). Ideal seria corrigir a aplicação para não deixar conexões ociosas (aka idle). "Idle in transaction" quer dizer que o banco de dados estão no meio de uma transação e, se a conexão for encerrado, as modificações serão perdidas. Isso pode ou não ser um problema para você. Se for um simples: BEGIN; ... aguardando alguma coisa... ... depois de 10 min... ... finalizar a transação... não há problema algum. Porém se for: BEGIN; SELECT ... INSERT ... SELECT ... DELETE ... ... aguardando alguma coisa ... ... depois de 10 min ... ... finalizar a transação ... você estará cancelando algo que pode ser "importante". -- Euler Taveira de Oliveira - Timbira http://www.timbira.com.br/ PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
