On 21-02-2014 09:25, Nildo Abreu wrote: > Preciso de um procedimento para matar sessões inativas (idle) por mais de > 08 horas, encontrei em (1) algumas dicas porém nenhuma delas funcionou na > minha versão (2). > Existe algo do próprio PostgreSQL que faça essa tarefa? > Vide a documentação [1]. Alguns campos foram renomeados (procpid -> pid) e outros desmembrados (current_query -> query, state). Estou supondo que quer matar qualquer consulta ociosa (inclusive aquelas que estão esperando algo).
SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE (now() - query_start) > interval '8 hours' AND state ~ 'idle'; Se for somente as ociosas (aquelas que não estiverem executando consultas), troque o ~ pelo =. [1] http://www.postgresql.org/docs/9.2/static/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW -- Euler Taveira 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
