Bom pessoal vou mostrar como listar/matar as sessões ativas no PostgreSQL . O sql a seguir lista todas as sessões ativas.
1 2 3 4 5 6 7 8 |
select datname, procpid, usename, application_name, client_addr, client_hostname, backend_start from pg_stat_activity |
Obs: A coluna procid foi renomeada para pid a partir da versão 9.2 do PostgreSQL
Com a lista de usuário em mãos, podemos optar por “matar” a sessão de algum usuário ativo, para isto basta executar o comando abaixo, substituindo o “procpid’ pelo valor retornado da consulta anterior.
1 |
select pg_terminate_backend(procpid); |
E para eliminar todas as conexões ativas, menos a conexão atual.
1 2 3 |
SELECT pg_terminate_backend(procpid) FROM pg_stat_activity WHERE procpid pg_backend_pid(); |
Fonte:
http://blog.gaudencio.net.br/2014/01/postgresql-consultando-e-eliminando.html
http://fabriciodev.blogspot.com.br/2012/03/consultando-e-eliminando-sessoes-ativas_20.html