Puede evitar futuras conexiones:
REVOKE CONNECT ON DATABASE thedb FROM public;
(y posiblemente otros usuarios/roles; consulte \l+
en psql
)
Luego puede finalizar todas las conexiones a esta base de datos excepto la suya:
SELECT pid, pg_terminate_backend(pid)
FROM pg_stat_activity
WHERE datname = current_database() AND pid <> pg_backend_pid();
En versiones anteriores pid
se llamaba procpid
así que tendrás que lidiar con eso.
Dado que ha revocado CONNECT
derechos, lo que sea que estaba tratando de conectarse automáticamente ya no debería poder hacerlo.
Ahora podrá soltar la base de datos.
Esto no funcionará si está utilizando conexiones de superusuario para operaciones normales, pero si está haciendo eso, primero debe solucionar ese problema.
Una vez que haya terminado de eliminar la base de datos, si crea la base de datos nuevamente, puede ejecutar el siguiente comando para restaurar el acceso
GRANT CONNECT ON DATABASE thedb TO public;