Was sagt die Abfrage "select * from pg_stat_activity;", wenn es heißt, dass Benutzer verbunden sind? Sind die anderen Benutzer außer Ihnen jetzt verbunden? Wenn ja, müssen Sie möglicherweise Ihre Datei pg_hba.conf bearbeiten, um Verbindungen von anderen Benutzern abzulehnen, oder die Anwendung, die auf die pg-Datenbank zugreift, herunterfahren, um sie beenden zu können. Ich habe dieses Problem gelegentlich in der Produktion. Setzen Sie pg_hba.conf so, dass sie zwei Zeilen wie diese enthält:
local all all ident
host all all 127.0.0.1/32 reject
und weisen Sie pgsql an, neu zu laden oder neu zu starten (d.h. entweder sudo /etc/init.d/postgresql reload oder pg_ctl reload) und nun ist die einzige Möglichkeit, sich mit Ihrem Rechner zu verbinden, über lokale Sockets. Ich nehme an, dass Sie unter Linux arbeiten. Falls nicht, müssen Sie in der ersten Zeile etwas anderes als local / ident eingeben, z.B. host ... yourusername.
Jetzt sollten Sie in der Lage sein, das zu tun:
psql postgres
drop database mydatabase;