Aufruf des Befehls psql ohne Auswahl einer Datenbank


11

Die Syntax des psqlBefehlszeilenclients lautet

psql [option...] [dbname [username]]

Ich übergebe den Befehl ALTER DATABASE x RENAME to yan diesen Befehl:

echo `ALTER DATABASE x RENAME to y` | psql

Derzeit erhalte ich den Fehler

psql: FATAL:  database "myuser" does not exist

Es sieht so aus, als ob der psqlBefehl versucht, die Datenbank mit demselben Namen wie der aktuelle Benutzername zu öffnen.

Wie kann ich den psqlBefehl starten, ohne eine Datenbank auszuwählen?

Bearbeiten :

Eine Problemumgehung besteht natürlich nur darin, eine leere Datenbank für den Benutzer zu erstellen.

Die Verwendung der Datenbank xals Parameter funktioniert nicht, da dies die Umbenennung blockiert.

Antworten:



1

In Ubuntu:

sudo -u postgres psql
postgres=# ALTER DATABASE "old" RENAME TO "new";
ALTER DATABASE
postgres=# \q
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.