Blog e Artigos Tecnologia

Blog e Artigos Tecnologia

Who am I?

Sou 💻 Desenvolvedor PHP | Laravel #Fullstack #Dev #DevOps #Laravel #PHP #lucena


What I write about


Recent Posts

Drop a PostgreSQL database if there are active connections to it

Ao tentar dropa um banco de dados do PostgreSQL, "target_db" e você encontrará o erro abaixo:

postgres=# DROP DATABASE target_db;
    ERROR:  database "target_db" is being accessed by other users
    DETAIL:  There is 1 other session using the database.
    postgres=#

Se você ficar acima do erro, há 1 conexão ativa aberta para target_db, portanto, não será possível excluir o banco de dados selecionado até que a conexão ativa seja fechada. Portanto, para excluir o banco de dados selecionado primeiro, precisamos fechar todas as conexões existentes no banco de dados selecionado. Isso pode ser feito com a consulta como abaixo

SELECT pg_terminate_backend(pg_stat_activity.pid)
    FROM pg_stat_activity
    WHERE pg_stat_activity.datname = 'target_db'
      AND pid <> pg_backend_pid();

Uma vez acima, a consulta é executada. Podemos eliminar o db de destino sem nenhum erro executando a consulta abaixo

    DROP DATABASE target_db
Resultado de imagem para postgres drop"