it-swarm.com.de

psql: schwerwiegende Datenbank existiert nicht Fehler

Ich habe ein Linux-Benutzerkonto, eine Postgresql-Rolle und eine zugehörige Datenbank, die alle foo heißen.

vom Linux-Benutzer foo habe ich den Befehl ausgeführt

dropdb foo

Wenn ich jetzt versuche, psql vom Linux-Benutzer foo aus auszuführen, wird der Fehler angezeigt ...

psql: FATAL:  database "foo" does not exist

Bedeutet dies also, dass beim Ausführen von psql von einem Linux-Benutzerkonto aus eine Datenbank mit diesem Linux-Benutzerkonto verknüpft sein muss?

7
ScottF

psql setzt voraus, dass Sie eine Verbindung zu einer Datenbank herstellen möchten. Sie können entweder eine (direkt nach dem Befehl) angeben oder Sie möchten eine Verbindung zu einer Datenbank herstellen, deren Name identisch ist als Ihr Benutzername (oder der Kontoname des Prozesses, der psql gestartet hat):

Sie könnten also schreiben:

psql my_db

oder

psql -d my_db

oder doch

psql --dbname=my_db

... und psql stellen eine Verbindung zur (lokalen) Datenbank mit dem Namen my_db her.

Sie haben weitere Verbindungsoptionen, die Sie in der Dokumentation überprüfen können.

Wenn Sie noch keine Datenbank erstellt haben, überprüfen Sie createdb .

7
joanolo