Heim >Backend-Entwicklung >Golang >Wie behebe ich den Fehler „pq: Die aktuell geöffnete Datenbank kann nicht gelöscht werden' in PostgreSQL?

Wie behebe ich den Fehler „pq: Die aktuell geöffnete Datenbank kann nicht gelöscht werden' in PostgreSQL?

Susan Sarandon
Susan SarandonOriginal
2024-11-15 01:32:02798Durchsuche

How to Resolve

Postgres-Datenbankfehler löschen: „pq: Die aktuell geöffnete Datenbank kann nicht gelöscht werden“

Dieser Fehler tritt auf, wenn Sie versuchen, die Datenbank zu löschen, in der Sie sich befinden derzeit verbunden mit. Laut Postgres-Dokumentation kann man eine Datenbank mit einer offenen Verbindung nicht löschen. Um dieses Problem zu beheben, stellen Sie eine Verbindung zu einer anderen Datenbank her und führen Sie den Befehl DROP DATABASE für diese Verbindung aus.

Alternativ können Sie, wenn andere Clients mit der Datenbank verbunden sind, diese zwangsweise trennen, um den Löschvorgang zu ermöglichen. Dies erfordert jedoch Superuser-Rechte. Um Clients zwangsweise von einer Datenbank mit dem Namen „mydb“ zu trennen, verwenden Sie den folgenden Befehl:

If PostgreSQL < 9.2:
SELECT pg_terminate_backend(procpid) FROM pg_stat_activity WHERE datname = 'mydb';

Else:
SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = 'mydb';

Sobald alle Clients getrennt wurden, können Sie eine Verbindung zu einer anderen Datenbank herstellen und den Befehl DROP DATABASE ausführen, um die gewünschten zu entfernen Datenbank.

Das obige ist der detaillierte Inhalt vonWie behebe ich den Fehler „pq: Die aktuell geöffnete Datenbank kann nicht gelöscht werden' in PostgreSQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn