986 Stimmen

Psql: FATAL: Die Datenbank "<user>" existiert nicht

Ich verwende die PostgreSql-App für Mac (http://postgresapp.com/). Ich habe es in der Vergangenheit auf anderen Maschinen verwendet, aber bei der Installation auf meinem Macbook treten einige Probleme auf. Ich habe die Anwendung installiert und ausgeführt:

psql -h localhost

Es gibt zurück:

psql: FATAL: Datenbank "" existiert nicht

Es scheint, dass ich nicht einmal die Konsole ausführen kann, um die Datenbank zu erstellen, die sie zu finden versucht. Das Gleiche passiert, wenn ich einfach ausführe:

psql 

oder wenn ich psql aus dem Anwendungsmenü starte:

Rechnerstatistiken:

  • OSX 10.8.4

  • psql (PostgreSQL) 9.2.4

Jede Hilfe ist willkommen.

Ich habe auch versucht, PostgreSql über Homebrew zu installieren und habe das gleiche Problem. Ich habe auch die Dokumentationsseite der Anwendung gelesen, die besagt:

Wenn Postgres.app zum ersten Mal gestartet wird, erstellt es die $USER-Datenbank, die die Standarddatenbank für psql ist, wenn keine angegeben ist. Der Standardbenutzer ist $USER, ohne Passwort.

Es scheint also, dass die Anwendung $USER nicht erstellt, jedoch habe ich es jetzt mehrmals installiert->deinstalliert->neu installiert, also muss es etwas mit meinem Rechner zu tun haben.

Ich habe die Antwort gefunden, bin mir aber nicht sicher, wie genau es funktioniert, da der Benutzer, der in diesem Thread geantwortet hat -> Getting Postgresql Running In Mac: Database "postgres" does not exist nicht weitergemacht hat. Ich habe den folgenden Befehl verwendet, um psql zu öffnen:

psql -d template1

Ich lasse diese Frage unbeantwortet, bis jemand eine Erklärung dafür liefern kann, warum dies funktioniert.

2voto

Andreas Covidiot Punkte 3881

Hatte das Problem mit der Verwendung des JDBC-Treibers, daher muss man einfach die Datenbank (möglicherweise redundant, abhängig vom verwendeten Tool) nach dem Hostnamen in der URL hinzufügen, z.B. jdbc:postgres:///

weitere Details sind hier dokumentiert: http://www.postgresql.org/docs/7.4/static/jdbc-use.html#JDBC-CONNECT

0voto

Verbinden Sie sich über den vorhandenen Superuser mit Postgres.

Erstellen Sie eine Datenbank mit dem Namen des Benutzers, mit dem Sie sich über Postgres verbinden.

create database benutzername;

Versuchen Sie nun, sich über den Benutzernamen zu verbinden

0voto

Gabriel soft Punkte 178

Dies hat für mich funktioniert, als ich das Problem gelöst habe

Ich habe sudo -i -u postgress ausgeführt --> um Zugriff auf meine Postgres-Datenbank zu erhalten.

Geben Sie dann Ihr Passwort ein.

Es würde Ihnen jetzt erlauben, psql einzugeben, das Sie nach anderen Befehlen fragen würde

Prost!

-1voto

unom Punkte 11360

Hatte dieses Problem beim Installieren von PostgreSQL über Homebrew.

Musste den Standard-Benutzer "postgres" mit erstellen:

createuser --interactive postgres Antwort y für Superuser

createuser --interactive Benutzer Antwort y für Superuser

-1voto

Naveen Kashyap Punkte 324

Sie können den Datenbanknamen, mit dem Sie eine Verbindung herstellen möchten, in der Umgebungsvariable PGDATABASE=database_name festlegen. Wenn Sie dies nicht tun, ist der Standard-Datenbankname von psql der Benutzername. Nachdem Sie dies festgelegt haben, müssen Sie keine createdb erstellen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X