Ich muss die Datenbank umbenennen, aber als ich
PGAdmin : ALTER DATABASE "databaseName" RENAME TO "databaseNameOld"
darin war, sagte mir, dass dies nicht möglich ist.
Wie kann ich es tun?
( Version 8.3 unter Windows XP )
Aktualisieren
Die erste Fehlermeldung: Kann nicht, weil ich eine Verbindung hergestellt habe. Also habe ich eine andere Datenbank ausgewählt und die Abfragen durchgeführt.
Ich erhalte eine zweite Fehlermeldung, die mich darüber informiert, dass eine Benutzerverbindung hergestellt wurde. Ich sehe auf dem
PGAdmin
Bildschirm, dass es viele gibt,PID
aber sie sind inaktiv ... Ich sehe nicht, wie man sie tötet.
sql
postgresql
Patrick Desjardins
quelle
quelle
Antworten:
Versuchen Sie, den Datenbanknamen nicht anzugeben:
Stellen Sie außerdem sicher, dass zu diesem Zeitpunkt keine anderen Clients mit der Datenbank verbunden sind. Versuchen Sie zum Schluss, die zurückgegebene Fehlermeldung zu veröffentlichen, damit wir ein bisschen mehr Informationen erhalten.
quelle
.
oder hat@
.-
Zum späteren Nachschlagen sollten Sie in der Lage sein:
Beachten Sie, dass Tabelle
pg_stat_activity
Spaltepid
als benannteprocpid
in Versionen vor 9.2. Wenn Ihre PostgreSQL-Version niedriger als 9.2 ist, verwenden Sieprocpid
stattdessen anstelle vonpid
.quelle
PostgreSQL 9.3.5 on x86_64-apple-darwin, compiled by i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.9.00), 64-bit
)Ich bin gerade darauf gestoßen und unten ist, was funktioniert hat:
1)
pgAdmin
ist eine der Sitzungen. Verwenden Siepsql
stattdessen.2) Beenden Sie die
pgBouncer
und / oder Scheduler-Dienste unter Windows, da diese auch Sitzungen erstellenquelle
Unexist hat mir in einem Kommentar gesagt, dass ich die Datenbank neu starten soll und es funktioniert! Durch einen Neustart der Datenbank wird die gesamte vorhandene Verbindung beendet. Anschließend stelle ich eine Verbindung zu einer anderen Datenbank her und konnte diese mit meiner ersten Abfrage umbenennen.
Danke an alle.
quelle
Anstatt einen Nuke bereitzustellen (den Server neu zu starten), sollten Sie versuchen, die Verbindungen zu schließen, die Sie stören, indem Sie entweder herausfinden, woher sie stammen, die Client-Prozesse herunterfahren oder die
pg_cancel_backend()
Funktion verwenden.quelle
Für alle, die mit DBeaver auf dieses Problem stoßen und eine Fehlermeldung wie die folgende erhalten:
Trennen Sie Ihre aktuelle Verbindung und stellen Sie mit einer Verbindung, die nicht auf die Datenbank abzielt, die Sie umbenennen, erneut eine Verbindung zum selben Server her.
Das Ändern der aktiven Datenbank reicht nicht aus.
quelle