Resolver erro dropdb: error: database removal failed
Vamos lá, aqui um tutorial bem simples de Resolver erro dropdb: error: database removal failed – PostgreSQL, e o erro que acontece é:
dropdb: error: database removal failed: ERROR: database "nome_banco_de_dados" is being accessed by other usersDETAIL: There is N other session using the database.
Logicamente lendo o erro acima você já pode imaginar o que está acontecendo, você está tentando deletar um banco de dados onde existem sessões estabelecidas, um modo é reiniciar o serviço, entretanto as vezes você pode ter outros bancos de dados rodando e não pode fazer esse procedimento.
A princípio, uma das alternativas que temos em mão para resolver isso, e essa está listada abaixo.
1 Conecte na sua base PostgreSQL
Assumindo que você está rodando localmente no servidor que você está conectado:
psql -U username -d database
2 Execute o seguintes comando
REVOKE CONNECT ON DATABASE seu_database FROM public;
Então, no comando acima você deve trocar o nome do banco (seu_database) para o nome do seu banco de dados, e após o FROM é o nome do seu schema. Após isso, execute:
SELECT pid, pg_terminate_backend(pid)
FROM pg_stat_activity
WHERE datname = current_database() AND pid <> pg_backend_pid();
Gostaria de ressaltar que a versão do PostgreSQL utilizada aqui é a 11.1.
Pronto, com isso se tudo deu certo a partir de agora você pode “dropar” seu database sem problemas.
Por fim, espero que você tenha conseguido Resolver erro dropdb: error: database removal failed – PostgreSQL.
Eventualmente caso você precise consultar a documentação Veja ela AQUI!
Nesse meio tempo você pode gostar também: Como instalar o Graylog no Linux CentOS 7