2012/9/19 Fabrízio de Royes Mello <[email protected]> > > Em 19 de setembro de 2012 13:19, Euler Taveira <[email protected]>escreveu: > > >> Talvez o que o OP está querendo é algo como a função >> pg_terminate_backend(). >> Aconselho que ao invés de ficar utilizando esse artifício, ele corrija a >> aplicação para não deixar aberta essas conexões ociosas pois elas são >> prejudiciais ao PostgreSQL em algumas situações. >> >> > Com certeza corrigir a aplicação elimina o *mal pela raiz*, porém qdo o > software é de terceiros isso é um pouco mais complicado e dai precisamos > dos artifícios para *ajudar de certa forma*... no meu entendimento é pior > deixar essas conexões ociosas... > > Concordo, esse tipo de ação é SEMPRE ruim, mas muitas vezes é melhor que deixar uma aplicação mal feita "f###" com o servidor.
Além disso, é fácil matar conexões em IDLE a mais de 5 min, por exemplo, apenas com uma query (que pode ser adicionada num cronjob): SELECT pg_terminate_backend(procpid) FROM pg_stat_activity WHERE current_query = '<IDLE>' AND age(now(), query_start) > '5 min'::interval Ainda pode retornar outras colunas (como datname, useid, application_name, etc.) pra gravar num log ou coisa do tipo. Também aconselho um filtro mais preciso, pra matar apenas aquelas que já causam problemas. Atenciosamente, -- Matheus de Oliveira Analista de Banco de Dados PostgreSQL Dextra Sistemas - MPS.Br nível F! www.dextra.com.br
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
