Sie können zukünftige Verbindungen verhindern:
REVOKE CONNECT ON DATABASE thedb FROM public;
(und möglicherweise andere Benutzer/Rollen; siehe \l+
in psql
)
Sie können dann alle Verbindungen zu dieser Datenbank außer Ihrer eigenen beenden:
SELECT pid, pg_terminate_backend(pid)
FROM pg_stat_activity
WHERE datname = current_database() AND pid <> pg_backend_pid();
Auf älteren Versionen pid
hieß procpid
damit müssen Sie sich abfinden.
Da Sie CONNECT
widerrufen haben Rechte, was auch immer versucht hat, sich automatisch zu verbinden, sollte dies nicht mehr tun können.
Sie können die Datenbank jetzt löschen.
Dies funktioniert nicht, wenn Sie Superuser-Verbindungen für den normalen Betrieb verwenden, aber wenn Sie dies tun, müssen Sie dieses Problem zuerst beheben.
Nachdem Sie die Datenbank gelöscht haben und die Datenbank erneut erstellen, können Sie den folgenden Befehl ausführen, um den Zugriff wiederherzustellen
GRANT CONNECT ON DATABASE thedb TO public;