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

Responder a