quarta-feira, 9 de abril de 2014

Encerrar conexões ativas e deletar Database Postgresql

Caso ocorra o seguinte erro ao tentar excluir um banco de dados no Postgresql:

ERROR:  database "xyz" is being accessed by other users
DETAIL:  There are 1 other session(s) using the database.

É necessário encerrar as conexões ativas para deletar o banco. A consulta abaixo realiza essa função:
(Versão Postgres 9.2 e posteriores)

SELECT
    pg_terminate_backend (pg_stat_activity.pid)
FROM
    pg_stat_activity
WHERE
    pg_stat_activity.datname = 'nome do banco';

DROP DATABASE nome do banco;

Para versões mais antigas (9.1 e anteriores), substituir pg_stat_activity.pid por pg_stat_activity.procpid. 

Nenhum comentário:

Postar um comentário