Evite mandar e-mail com assunto "Ajuda" ou tão genérico, atrapalha as
pesquisas...


2013/6/18 Luiz Carlos L. Nogueira Jr. <[email protected]>

> Pessoal,
> Alguém tem um script pra matar os processos que estão "idle in
> transaction" por mais de algum tempo?
>

Vai depender da versão do PostgreSQL (que você não passou). Mas a ideia
geral é você fazer uma consulta na pg_stat_activity e pegar as conexões que
você quer, em seguida usar a coluna procpid ou pid (depende da versão) e
passar pra função pg_cancel_backend(pid) ou pg_terminate_backend(pid).

Tenta um `SELECT * FROM pg_stat_activity`, dá uma olhada no resultado e em
[1] e [2]. A função age [3] (use algo como age(now(), query_start)) também
vai te ajudar a verificar o tempo das consultas.

[1]
http://www.postgresql.org/docs/current/static/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW
[2]
http://www.postgresql.org/docs/current/static/functions-admin.html#FUNCTIONS-ADMIN-SIGNAL-TABLE
[3]
http://www.postgresql.org/docs/current/static/functions-datetime.html#FUNCTIONS-DATETIME-TABLE

Atenciosamente,
-- 
Matheus de Oliveira
Analista de Banco de Dados
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a