Ich verwende die PostgreSql-App für Mac ( http://postgresapp.com/ ). Ich habe es in der Vergangenheit auf anderen Computern verwendet, aber es bereitet mir Probleme bei der Installation auf meinem MacBook. Ich habe die Anwendung installiert und ausgeführt:
psql -h localhost
Es gibt zurück:
psql: FATAL: database "<user>" does not exist
Anscheinend kann ich nicht einmal die Konsole ausführen, um die Datenbank zu erstellen, die gesucht werden soll. Das gleiche passiert, wenn ich gerade renne:
psql
oder wenn ich psql über das Dropdown-Menü der Anwendung starte:
Maschinenstatistik:
OSX 10.8.4
psql (PostgreSQL) 9.2.4
Jede Hilfe wird geschätzt.
Ich habe auch versucht, PostgreSql über Homebrew zu installieren, und ich bekomme das gleiche Problem. Ich habe auch die Anwendungsdokumentationsseite gelesen, auf der es heißt:
Beim ersten Start von Postgres.app wird die $ USER-Datenbank erstellt. Dies ist die Standarddatenbank für psql, wenn keine angegeben ist. Der Standardbenutzer ist $ USER ohne Kennwort.
Es scheint also, dass die Anwendung $ USER nicht erstellt, aber ich habe jetzt mehrmals installiert-> deinstalliert-neu installiert, also muss es etwas mit meinem Computer sein.
Ich habe die Antwort gefunden, bin mir aber nicht sicher, wie sie genau funktioniert, da der Benutzer, der auf diesen Thread geantwortet hat -> Postgresql unter Mac zum Laufen bringen: Die Datenbank "postgres" existiert nicht, nicht nachverfolgt hat . Ich habe den folgenden Befehl verwendet, um psql zum Öffnen zu bringen:
psql -d template1
Ich werde diese unbeantwortet lassen, bis jemand eine Erklärung dafür liefern kann, warum dies funktioniert.
createdb <user>
hat für mich funktioniert.
psql -U user -d postgres
, um sicherzustellen, dass der Benutzer mit der bereits vorhandenen Postgres-Datenbank verbunden ist. Wir müssen also die Datenbank auch beim Anmelden übergeben.
psql -d postgres -U postgres -h localhost
zeigt? Ohne Flags wird standardmäßig der CLI-Benutzer verwendet, und ich hätte gesagt, dass standardmäßig die Administrator-Datenbank "postgres" verwendet wird, aber ich habe keinen Mac zum Testen.