[PostgreSQL] – Consultando e eliminando sessões ativas

PostgreSQL

Bom pessoal vou mostrar como listar/matar as sessões ativas no PostgreSQL . O sql a seguir lista todas as sessões ativas.

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.

 select pg_terminate_backend(procpid);

E para eliminar todas as conexões ativas, menos a conexão atual.

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