Installieren Sie PostgreSQL über Homebrew
Wahrscheinlich kennen die meisten OS X-Benutzer Homebrew
, aber Homebrew ist ein Paketmanager für OS X, mit dem Sie problemlos eine riesige Bibliothek von Anwendungen und Dienstprogrammen installieren und ausführen können.
Wir werden nicht den gesamten (wenn auch kurzen) Installationsprozess von Homebrew durchgehen, aber wenn Sie Homebrew installieren und für die PostgreSQL-Verwaltung verwenden möchten, sehen Sie sich den Installationsbefehl in der offiziellen Dokumentation an. Wenn Sie nicht sicher sind, ob Homebrew installiert ist, versuchen Sie es mit which brew
Befehl vom Terminal zu verifizieren.
Sobald Homebrew installiert ist, können Sie PostgreSQL installieren, indem Sie die folgenden Befehle in Ihrem Terminal ausführen:
$ brew update
$ brew doctor
$ brew install postgres
Die ersten beiden Befehle werden verwendet, um Homebrew zu aktualisieren und potenzielle Probleme zu melden (falls erforderlich). Dann natürlich brew install postgres
ist der einzeilige Befehl zum Installieren von PostgreSQL.
Während der Installation sollten Sie viele nützliche Informationen in der Ausgabe sehen, von denen viele für die Verwendung in den nächsten Abschnitten nach unten kopiert werden sollten.
Einen LaunchAgent und plist verwenden, um PostgreSQL beim Start zu starten
In den meisten Fällen möchten Sie wahrscheinlich, dass PostgreSQL gestartet wird, wenn Sie Ihr System starten, also müssen Sie Ihrem Computer mitteilen, dass Sie dies wünschen.
Zuerst müssen Sie ein Verzeichnis für Ihre LaunchAgents
erstellen zu residieren (falls das Verzeichnis noch nicht existiert). LaunchAgents
in OS X sind einfache Skripte, die von launchd
verwendet werden die dazu führen, dass das System während des Starts Programme oder Code ausführt.
Erstellen Sie Ihren user
-spezifische LaunchAgents
Verzeichnis ggf. mit diesem Befehl:
$ mkdir -p ~/Library/LaunchAgents
Jetzt müssen Sie einen symbolischen Link aus dem Skript erstellen, der es Postgres tatsächlich ermöglicht, zu den LaunchAgents
zu laufen Verzeichnis. Ein symbolischer Link ähnelt dem Erstellen einer neuen Kopie einer Datei zur Verwendung in einem anderen Verzeichnis, aber da der Link „symbolisch“ ist, ist der Link nur eine Weiterleitungsadresse:Jede Anfrage an diesen symbolischen Linkort wird tatsächlich „weitergeleitet“. oder dorthin umgeleitet, wo die echte Datei befindet sich tatsächlich.
Link zur plist
(Property List)-Datei, die von Homebrew generiert wurde, und platzieren Sie diesen neuen symbolischen Link in LaunchAgents
mit diesem Befehl:
$ ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents
Hinweis:Überprüfen Sie noch einmal, ob der Befehl korrekt ist:Er sollte Teil der oben erwähnten Installationsausgabe gewesen sein, als Homebrew Postgres ursprünglich installiert hat.
Abschließend laden wir den neuen symbolisch verlinkten LaunchAgent
Datei mit dem launchctl load
Befehl, der den Computer speziell darüber informiert, dieses Skript auszuführen und Postgres zu starten, wenn der Computer gestartet wird. Auch hier wird der genaue Befehl, den Sie für Ihre eigene Installation eingeben müssen, während der Postgres-Installation von Homebrew ausgegeben, aber er sollte in etwa so aussehen:
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
PostgreSQL manuell starten
Um Postgres manuell ohne Neustart zu starten, sollten Sie wieder den Befehl verwenden können, der während der Installation ausgegeben wurde, etwa so:
$ postgres -D /usr/local/var/postgres
Dadurch wird versucht, Postgres im daemon
zu starten Modus, was bedeutet, dass es als Hintergrundprozess läuft, ohne Ihr Terminal zu übernehmen.
PostgreSQL ohne Homebrew starten/beenden
Für den Fall, dass Sie Homebrew für Postgres nicht haben (oder nicht verwenden möchten), aber Postgres bereits installiert haben, können Sie es auch manuell mit pg_ctl
starten , das ist das von Postgres selbst bereitgestellte Startdienstprogramm.
Dadurch wird Postgres gestartet (unter der Annahme von Standardverzeichnissen):
$ pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
Und das wird Postgres stoppen:
pg_ctl -D /usr/local/var/postgres stop -s -m fast
Fehlerbehebung beim Start:Haben Sie initdb
ausgeführt ?
Wenn Sie in einigen Fällen Probleme beim Ausführen von Postgres haben, vergewissern Sie sich, dass Sie die initdb
ausgeführt haben einmal auszuführen, wodurch Postgres den Datenbankcluster für eine Neuinstallation initialisiert und Sie sich mit dem standardmäßigen postgres
verbinden können Benutzer.