Korzystam z aplikacji PostgreSql dla systemu Mac ( http://postgresapp.com/ ). Używałem go w przeszłości na innych komputerach, ale sprawia mi to problemy podczas instalacji na moim MacBooku. Zainstalowałem aplikację i uruchomiłem:
psql -h localhost
Zwraca:
psql: FATAL: database "<user>" does not exist
Wygląda na to, że nie mogę nawet uruchomić konsoli, aby utworzyć bazę danych, którą próbuje znaleźć. To samo dzieje się, gdy po prostu biegam:
psql
lub jeśli uruchomię psql z menu rozwijanego aplikacji:
Statystyki maszyny:
OSX 10.8.4
psql (PostgreSQL) 9.2.4
Każda pomoc jest mile widziana.
Próbowałem również zainstalować PostgreSql przez homebrew i otrzymuję ten sam problem. Przeczytałem również stronę dokumentacji aplikacji, która stwierdza:
Podczas pierwszego uruchomienia Postgres.app tworzy bazę danych $ USER, która jest domyślną bazą danych dla psql, gdy nie określono żadnej. Domyślnym użytkownikiem jest $ USER, bez hasła.
Wygląda na to, że aplikacja nie tworzy $ USER, jednak zainstalowałem -> odinstalowałem - ponownie zainstalowałem kilka razy, więc musi to być coś z moją maszyną.
Znalazłem odpowiedź, ale nie jestem pewien, jak dokładnie działa, ponieważ użytkownik, który odpowiedział w tym wątku -> Pierwsze uruchomienie Postgresql na Macu: Baza danych „postgres” nie istnieje, nie kontynuowała. Użyłem następującego polecenia, aby otworzyć psql:
psql -d template1
Pozostawię tę odpowiedź bez odpowiedzi, dopóki ktoś nie wyjaśni wyjaśnienia, dlaczego to działa.
createdb <user>
działało dla mnie.
psql -U user -d postgres
, aby upewnić się, że użytkownik jest połączony z bazą danych postgres, która jest już obecna. Musimy więc przekazać bazę danych również podczas logowania.
psql -d postgres -U postgres -h localhost
pokazuje Bez flag domyślnie jest to użytkownik CLI i powiedziałbym, że domyślnie jest to administrator bazy danych „postgres”, ale nie mam Maca do testowania.