Jak uruchomić psql na Mac OS X?

53

Zainstalowałem PostgreSQL na komputerze z systemem Mac OS X, używając instalatora One Click . Następnie próbuję uzyskać dostęp do PostgreSQL za pomocą psqlpolecenia, ale wydaje się, że nie jest ono dostępne.

Dostaję tę wiadomość:

psql
-bash: psql: command not found

Czy muszę zainstalować coś więcej? Lub jak skonfigurować PostgreSQL, aby móc go używać na moim komputerze?

Jonas
źródło

Odpowiedzi:

40

Znajdź plik binarny psql. (W terminalu uruchom locate psql | grep /bini zanotuj ścieżkę. (W moim przypadku jest tak /opt/local/lib/postgresql90/bin/, jakby został zainstalowany przy użyciu MacPorts).

Następnie edytuj .bash_profileplik w folderze domowym (np. mate -w ~/.bash_profileZakładając, że masz partnera tekstowego) i dodaj potrzebny wiersz, aby znalazł się na twojej ścieżce, np .:

export PATH=/opt/local/lib/postgresql90/bin/:$PATH

Po zapisaniu pliku przeczytaj plik ( . ~/.bash_profile) lub otwórz nowy terminal i wpisz psql.

Denis de Bernardy
źródło
18
Dzięki, moja ścieżka do psql była /Library/PostgreSQL/9.0/bin/psqli utworzyłem .bash_profileplik zgodnie z twoimi sugestiami i działa świetnie.
Jonas
1
@Jonas: +1 Twój komentarz powinien naprawdę zawierać osobną odpowiedź i powinien być odpowiedzią zaakceptowaną, ponieważ jest to domyślna lokalizacja podczas instalacji Postgres na komputerze Mac!
Stefan Haberl
Polecenie lokalizowania początkowo nie działało dla mnie, musiałem najpierw uruchomić, sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plista następnie poczekać na zakończenie findprocesu
magritte
musiałem również utworzyć plik .bash_profile, mac noob tutaj! ;-) teraz działa, dzięki!
magritte
3
lepiejexport PATH=/Applications/Postgres.app/Contents/Versions/latest/bin/:$PATH
andilabs
11

Zdecydowanie polecam korzystanie Postgres.appz zespołu Heroku, który również jest przez nich obsługiwany!

Ma ikonę paska menu, a menu zawiera psqlelement:

Menu ikony paska narzędzi Postgres.app

Znajdziesz tu również psql, jeśli chcesz mieć tę samą wersję co serwer (ścieżka może się różnić w zależności od wersji):

/Applications/Postgres.app/Contents/MacOS/bin

Jeśli chcesz, możesz dodać tę ścieżkę do skryptu uruchamiania, aby wykonać psqlbezpośrednio:

PATH=/Applications/Postgres.app/Contents/MacOS/bin:$PATH

CAVEAT! AFAIK, Postgres.appnie obsługuje połączeń przez gniazda Unix (nie jestem pewien, co to jest ...) i obsługuje tylko połączenia TCP / IP. Więc nie panikuj, jeśli nie uda ci się połączyć z innymi programami.

Eonil
źródło
4
Najnowsza dokumentacja postgresapp.com/documentation/cli-tools.html wymienia ścieżkę jako/Applications/Postgres.app/Contents/Versions/latest/bin
Bryan Ash
Właściwie komentarz okazuje się lepszą odpowiedzią :)
mythicalcoder
lepiejexport PATH=/Applications/Postgres.app/Contents/Versions/latest/bin/:$PATH
andilabs
Patrzyłem, ale nie mogłem znaleźć żadnej relacji między Heroku teamaplikacją. Czy możesz udostępnić, w jaki sposób są one połączone?
Roee Gavirel
11

Pojawia się „sposób” zainstalowania klienta, jeśli chcesz użyć hombrew, to:

$ brew install postgresql

wtedy psql(linia poleceń klienta) będzie teraz dostępna (instaluje również lokalny serwer / bazę danych Postgres, ale nie musisz tego używać, jeśli wszystko, czego potrzebujesz, to klient).

Najwyraźniej istnieje również „wrapper” do psql, aby uczynić go bardziej „przyjaznym dla użytkownika”, dostępnym również przez homebrew ( brew install pgcli), jeśli jest to interesujące.

Pgcli is a command line interface for Postgres with auto-completion and syntax highlighting.

Inną opcją jest zainstalowanie libpqpakietu homebrew, ale musisz go przymusowo połączyć (co jest obecnie odradzane)

 brew link --force libpq  

lub dodaj go do ŚCIEŻKI, zobacz wskazówki, które mówi homebrew po instalacji.

rogerdpack
źródło
4
Najwyraźniej nie ma możliwości korzystania psqlbez instalacji całego silnika bazy danych. Uznałem, że pgcliwygodniej jest, gdy na przykład chcesz mieć dokerowane wszystkie swoje usługi. Way to go @rogerdpack!
Saul Martínez
4

Zgodnie z instrukcją instalacji po zakończeniu instalacji w folderze aplikacji Postgres powinny znajdować się skróty do StackBuilder, pgAdmin3 i psql :

Znajdziesz także dodatkowe skróty do uruchomienia pgAdmin, interfejsu wiersza poleceń psql i dostępu do dokumentacji PostgreSQL.

Jeśli istnieją takie skróty, sprawdź, gdzie wskazuje psql.

Milen A. Radev
źródło
Dzięki, to również działało. Nie widziałem tej dokumentacji, tylko dokumentację na postgresql.org.
Jonas