Offizielle Seite erwähnen solchen Fall nicht. Aber viele Benutzer brauchen nur psql
ohne lokale Datenbank (ich habe es auf AWS). Brauen nicht haben psql
.
Offizielle Seite erwähnen solchen Fall nicht. Aber viele Benutzer brauchen nur psql
ohne lokale Datenbank (ich habe es auf AWS). Brauen nicht haben psql
.
Antworten:
Sie können auch homebrew verwenden, um libpq zu installieren.
brew install libpq
Dies würde Ihnen psql, pg_dump und eine ganze Reihe anderer Client-Dienstprogramme geben, ohne Postgres zu installieren.
Anschließend fügen Sie das Installationsverzeichnis Ihrem Pfad hinzu. In meinem Fall lautet das Verzeichnis:
/usr/local/Cellar/libpq/10.3/bin
brew link --force libpq
aber dadurch werden eine Reihe anderer Symlinks erstellt, die Sie möglicherweise nicht möchten / benötigen.
ln -s /usr/local/Cellar/libpq/11.3/bin/psql /usr/local/bin/psql
/ ln -s /usr/local/Cellar/libpq/11.3/bin/pg_dump /usr/local/bin/pg_dump
/ln -s /usr/local/Cellar/libpq/11.3/bin/pg_restore /usr/local/bin/pg_restore
for cmd in psql pg_dump pg_restore; do ln -s ../opt/libpq/bin/$cmd /usr/local/bin/$cmd; done
PATH=/usr/local/opt/libpq/bin:$PATH
Um alle Befehle auf einmal zu Ihrem Pfad hinzuzufügen, verwenden Sie einen Verzeichnisnamen, der sich mit der von libpq
Ihnen installierten Version nicht ändert .
Homebrew hat wirklich nur die Postgres- Formel und keine spezifische Formel, die nur das psql
Tool installiert .
Der "richtige Weg", um die psql
Anwendung zu erhalten, besteht in der Tat darin, die Postgres- Formel zu installieren. Am Ende des Abschnitts "Vorbehalte" sehen Sie, dass die Datenbank nicht ausgeführt wird, sondern nur die Dateien auf Ihrem System abgelegt werden ::
$ brew install postgres
==> Downloading https://homebrew.bintray.com/bottles/postgresql-9.6.5.sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring postgresql-9.6.5.sierra.bottle.tar.gz
==> /usr/local/Cellar/postgresql/9.6.5/bin/initdb /usr/local/var/postgres
==> Caveats
<snip>
To have launchd start postgresql now and restart at login:
brew services start postgresql
Or, if you don't want/need a background service you can just run:
pg_ctl -D /usr/local/var/postgres start
==> Summary
🍺 /usr/local/Cellar/postgresql/9.6.5: 3,269 files, 36.7MB
Jetzt können Sie psql
eine Verbindung zu Remote-Postgres-Servern herstellen und keinen lokalen Server mehr ausführen, obwohl dies möglich ist, wenn Sie dies wirklich möchten.
postgres
Überprüfen Sie Ihre installierten Homebrew-Dienste, um sicherzustellen , dass der lokale Dämon nicht ausgeführt wird:
$ brew services list
Name Status User Plist
mysql stopped
postgresql stopped
Wenn Sie Homebrew Services nicht installiert haben, einfach
$ brew tap homebrew/services
... und Sie erhalten diese Funktionalität. Weitere Informationen zu Homebrew Services finden Sie in diesem ausgezeichneten Blog-Beitrag, in dem die Funktionsweise erläutert wird .
brew link
Schritt nicht erforderlich ist . Das Erzwingen der Verknüpfung mit libpq ist aufgrund der Deklaration keg_only in der Formel erforderlich . Angesichts dieser spezifischen Komplikation stehe ich zu dieser Antwort als der "richtige" Weg, um das zu tun, was die Frage verlangt. Ich erkenne, dass viele Benutzer den libpq
Ansatz dennoch bevorzugen werden .
libpq 11.2
MacOS & zsh oder bash
unten funktioniert
libpq
brew install libpq
PATH aktualisieren
wenn Sie zsh verwenden:
echo 'export PATH="/usr/local/opt/libpq/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
Wenn Sie Bash verwenden:
echo 'export PATH="/usr/local/opt/libpq/bin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile
echo 'export PATH="/usr/local/opt/libpq/bin:$PATH"' >> ~/.bash_profile
wenn Sie bash verwenden.
Wenn Sie postgresql wirklich nicht benötigen, müssen Sie nicht einmal Ihren Pfad ändern, um libra zu verwenden. Verknüpfen Sie einfach libpq
. Die Dokumente sagen, dass der einzige Grund, warum dies nicht der Fall ist, darin besteht, Konflikte mit dem PostgreSQL-Paket zu vermeiden.
brew uninstall postgresql
brew install libpq
brew link --force libpq
Ich fand all dies wirklich unbefriedigend, besonders wenn Sie mehrere Versionen von Postgres unterstützen müssen. Eine VIEL einfachere Lösung besteht darin, die Binärdateien hier herunterzuladen:
https://www.enterprisedb.com/download-postgresql-binaries
Führen Sie einfach die ausführbare Version aus psql
, die der Datenbank entspricht, mit der Sie arbeiten, ohne zusätzliche Schritte.
Beispiel:
./path/to/specific/version/bin/psql -c '\x' -c 'SELECT * FROM foo;'
Du könntest es versuchen brew install postgresql
Dies bietet jedoch eine schöne Benutzeroberfläche zum Verwalten Ihrer Datenbanken unter https://postgresapp.com
brew install postgresql
installiere psql mit der Datenbank selbst :(