U kunt toekomstige verbindingen voorkomen:
REVOKE CONNECT ON DATABASE thedb FROM public;
(en mogelijk andere gebruikers/rollen; zie \l+
in psql
)
U kunt dan alle verbindingen met deze database beëindigen, behalve die van uzelf:
SELECT pid, pg_terminate_backend(pid)
FROM pg_stat_activity
WHERE datname = current_database() AND pid <> pg_backend_pid();
Op oudere versies pid
heette procpid
dus daar zul je het mee moeten doen.
Sinds je CONNECT
hebt ingetrokken rechten, wat er ook probeerde om automatisch verbinding te maken, zou dit niet langer moeten kunnen.
U kunt nu de DB verwijderen.
Dit werkt niet als je superuser-verbindingen gebruikt voor normale bewerkingen, maar als je dat doet, moet je dat probleem eerst oplossen.
Nadat u klaar bent met het verwijderen van de database, kunt u, als u de database opnieuw maakt, onderstaande opdracht uitvoeren om de toegang te herstellen
GRANT CONNECT ON DATABASE thedb TO public;