Vous pouvez empêcher les futures connexions :
REVOKE CONNECT ON DATABASE thedb FROM public;
(et éventuellement d'autres utilisateurs/rôles ; voir \l+
dans psql
)
Vous pouvez alors mettre fin à toutes les connexions à cette base de données sauf la vôtre :
SELECT pid, pg_terminate_backend(pid)
FROM pg_stat_activity
WHERE datname = current_database() AND pid <> pg_backend_pid();
Sur les anciennes versions pid
s'appelait procpid
vous devrez donc vous en occuper.
Depuis que vous avez révoqué CONNECT
droits, tout ce qui essayait de se connecter automatiquement ne devrait plus être en mesure de le faire.
Vous pourrez maintenant supprimer la base de données.
Cela ne fonctionnera pas si vous utilisez des connexions de superutilisateur pour des opérations normales, mais si vous faites cela, vous devez d'abord résoudre ce problème.
Une fois que vous avez terminé de supprimer la base de données, si vous créez à nouveau la base de données, vous pouvez exécuter la commande ci-dessous pour restaurer l'accès
GRANT CONNECT ON DATABASE thedb TO public;