Zainstaluj PostgreSQL przez Homebrew
Prawdopodobnie większość użytkowników OS X zna Homebrew
, ale Homebrew to menedżer pakietów dla OS X, który pozwala z łatwością zainstalować i uruchomić ogromną bibliotekę aplikacji i narzędzi.
Nie przejdziemy przez cały (choć krótki) proces instalacji Homebrew, ale jeśli chcesz zainstalować Homebrew i używać go do zarządzania PostgreSQL, sprawdź polecenie instalacji w oficjalnej dokumentacji. Jeśli nie masz pewności, czy Homebrew jest zainstalowany, wypróbuj which brew
polecenie z terminala do weryfikacji.
Po zainstalowaniu Homebrew możesz zainstalować PostgreSQL, wydając w terminalu następujące polecenia:
$ brew update
$ brew doctor
$ brew install postgres
Pierwsze dwie komendy służą do aktualizacji Homebrew i zgłaszania wszelkich potencjalnych problemów (jeśli to konieczne). Następnie oczywiście brew install postgres
to jednowierszowe polecenie do instalacji PostgreSQL.
Podczas instalacji powinieneś zobaczyć wiele przydatnych informacji, z których większość powinna zostać skopiowana do użycia w następnych sekcjach.
Korzystanie z LaunchAgent i plist do uruchamiania PostgreSQL przy starcie
W większości przypadków prawdopodobnie będziesz chciał uruchomić PostgreSQL podczas uruchamiania systemu, więc musisz powiedzieć komputerowi, że tego pragniesz.
Najpierw musisz utworzyć katalog dla swoich LaunchAgents
do zamieszkania (jeśli katalog jeszcze nie istnieje). LaunchAgents
w OS X są proste skrypty używane przez launchd
które powodują, że system uruchamia programy lub kod podczas uruchamiania.
Utwórz swojego user
-specyficzne LaunchAgents
katalog z tym poleceniem, jeśli to konieczne:
$ mkdir -p ~/Library/LaunchAgents
Teraz musisz utworzyć dowiązanie symboliczne ze skryptu, który faktycznie pozwoli Postgresowi na uruchomienie LaunchAgents
informator. Dowiązanie symboliczne jest podobne do tworzenia nowej kopii pliku do użycia w innym katalogu, ale ponieważ dowiązanie jest „symboliczne”, jest tylko adresem przekazywania:każde żądanie skierowane do tej lokalizacji dowiązania symbolicznego jest w rzeczywistości „przekazywane dalej” lub przekierowane tam, gdzie prawdziwe plik faktycznie się znajduje.
Link do plist
(lista właściwości) wygenerowany przez Homebrew i umieść to nowe dowiązanie symboliczne w LaunchAgents
za pomocą tego polecenia:
$ ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents
Uwaga:upewnij się, że polecenie jest poprawne:powinno być częścią danych wyjściowych instalacji wspomnianych powyżej, gdy Homebrew początkowo instalował Postgres.
Na koniec ładujemy nowy LaunchAgent
z dowiązaniem symbolicznym plik za pomocą launchctl load
polecenie, które w szczególności informuje komputer o uruchomieniu tego skryptu i uruchomieniu Postgresa po uruchomieniu komputera. Ponownie, dokładne polecenie, które należy wprowadzić dla własnej instalacji, będzie wynikiem instalacji Postgres w Homebrew, ale powinno wyglądać mniej więcej tak:
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
Ręczne uruchamianie PostgreSQL
Aby ręcznie uruchomić Postgresa bez ponownego uruchamiania, powinieneś być w stanie użyć polecenia, które zostało wygenerowane podczas instalacji, na przykład:
$ postgres -D /usr/local/var/postgres
Spowoduje to próbę uruchomienia Postgresa w daemon
tryb, co oznacza, że będzie działał jako proces w tle bez przejmowania terminala.
Uruchom/zatrzymaj PostgreSQL bez Homebrew
Jeśli nie masz (lub nie chcesz używać) Homebrew dla Postgresa, ale masz już zainstalowany Postgres, możesz również uruchomić go ręcznie za pomocą pg_ctl
, czyli narzędzie do uruchamiania dostarczane przez sam Postgres.
Spowoduje to uruchomienie Postgresa (zakładając domyślne katalogi):
$ pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
A to zatrzyma Postgres:
pg_ctl -D /usr/local/var/postgres stop -s -m fast
Rozwiązywanie problemów z uruchamianiem:Czy uruchomiono initdb
?
W niektórych przypadkach, jeśli masz problemy z uruchomieniem Postgresa, upewnij się, że wykonałeś initdb
jednorazową komendę, co powoduje, że Postgres zainicjuje klaster bazy danych dla nowej instalacji i umożliwia połączenie z domyślnym postgres
użytkownika.