55006: object_in_use
PostgreSQLO que significa?
A operação não pode ser executada no objeto de destino (geralmente um banco de dados) porque ele está sendo usado por outras sessões. Por exemplo, um banco de dados com conexões ativas não pode ser removido.
Por que acontece?
Conexões abertas com o banco de dados durante o DROP DATABASE; uma operação que exige lock exclusivo em um objeto em uso; outra sessão mantendo o objeto.
Como resolver
Encontre e encerre as conexões abertas com o banco de dados de destino: SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = 'db_name' AND pid <> pg_backend_pid(); Bloqueie novas conexões (se necessário). No PostgreSQL 13+, remova-o fechando as conexões à força: DROP DATABASE db_name WITH (FORCE);