Installieren Sie PSQL, ohne PostgreSQL vollständig zu installieren
-
Installieren Sie
psql
, ohne PostgreSQL vollständig zu installieren -
Installieren Sie
psql
, ohne das vollständige PostgreSQL-Serverpaket zu installieren
Dieser Artikel ist speziell darauf ausgerichtet, das Verfahren zur Installation von psql
zu erörtern, ohne das vollständige PostgreSQL-Serverpaket zu installieren.
Installieren Sie psql
, ohne PostgreSQL vollständig zu installieren
Die Installation von psql
ohne vollständiges PostgreSQL beinhaltet keine technischen und komplexen Befehle. Stattdessen ist es ein einfach zu befolgendes Verfahren, das nur wenige Minuten dauert.
Das Verfahren zur Verwendung von psql
ohne Installation des gesamten PostgreSQL-Serverpakets erfordert die Hilfe der Homebrew-Software, die verwendet wird, um psql
zu verwenden, ohne das vollständige Postgres zu installieren.
Bevor wir zur Installation übergehen, wollen wir den Unterschied zwischen psql
und PostgreSQL unten verstehen.
Unterschied zwischen psql
und PostgreSQL-Server
Der PostgreSQL-Server unterscheidet sich vom psql
. Dieser Abschnitt wurde speziell geschrieben, um im Voraus zwischen den beiden Begriffen zu unterscheiden, um Verwechslungen zwischen diesen beiden Begriffen im gesamten Artikel zu vermeiden.
PostgreSQL ist ein Server, der unabhängig von all den verschiedenen Client-Verbindungen läuft. Der Befehl pg_ctl
oder ein init
-Skript startet und stoppt den Server.
Der Server muss gestartet werden, bevor sich ein Client verbinden kann. Andererseits ist psql
ein Kommandozeilen-Client. Es ist ein terminalbasiertes Frontend
zum PostgreSQL-Server.
Das psql
ist mit dem Server verbunden, sodass Sie Abfragen eingeben, an PostgreSQL senden und die Ergebnisse anzeigen können. Sie können Abfragen aus einer Datei eingeben oder Befehlszeilenargumente verwenden.
In beiden Fällen sind die Abfragen Ausgaben für den PostgreSQL-Server, und das Ergebnis wird dem Benutzer angezeigt. Daher muss klar sein, dass der PostgreSQL-Server und psql
zwei verschiedene Dinge sind.
Installieren Sie psql
, ohne das vollständige PostgreSQL-Serverpaket zu installieren
Die Homebrew-Software hat es Benutzern leicht gemacht, psql
zu verwenden, ohne das vollständige PostgreSQL-Paket zu installieren. Stattdessen müssen nur wenige Befehle ausgeführt werden, um psql
zusammen mit den Funktionen des PostgreSQL-Servers zu nutzen.
Der Artikel enthält zwei Methoden zur Verwendung von psql
. Bei der ersten Methode muss der Benutzer das PostgreSQL-Serverpaket nicht installieren. Die zweite Methode erfordert jedoch, dass der Benutzer das PostgreSQL-Serverpaket installiert, um es am Backend auszuführen.
Beide Verfahren werden im Detail besprochen, damit Sie den Prozess leicht nachvollziehen können.
Lösung 1: Verwenden Sie die Homebrew-Software, um psql
ohne PostgreSQL-Server zu installieren
Diese Lösung verwendet die Homebrew-Software und erfordert keine Installation des PostgreSQL-Servers. Der Prozess der Verwendung von psql
ohne einen PostgreSQL-Server wird unten besprochen.
Installieren Sie zuerst libpq
mit der Homebrew-Software. Der folgende Befehl kann diese Aufgabe ausführen:
brew install libpq
Die erfolgreiche Installation von libpq
gibt Ihnen psql
, pg_dump
und mehrere andere Client-Dienstprogramme. Die Installation des PostgreSQL-Servers ist nicht erforderlich, um diese Client-Dienstprogramme zu verwenden.
Dem Benutzer stehen die gleichen Dienstprogramme zur Verfügung, die im vollständigen PostgreSQL-Serverpaket enthalten sind. Darüber hinaus installiert Brew die Client-Utilities als "keg-only"
.
Die installierten Dateien sind nicht mit den freigegebenen Verzeichnissen bin
, lib
und anderen verknüpft. Stattdessen müssen diese Binärdateien verknüpft und dem Pfad hinzugefügt werden, um sie zu verwenden.
Im Folgenden werden drei verschiedene Verfahren zum Verknüpfen der Binärdateien erwähnt.
-
Das erste Verfahren zum Verknüpfen der Dateien besteht darin, den
Pfad
zu aktualisieren. Wir können dies mit den unten genannten Befehlen tun.-
Für
zsh
-Benutzer:echo'export PATH="/usr/local/opt/libpq/bin:$PATH"' >> ~/.zshrc source ~/.zshrc
-
Für
BASH
-Benutzer:echo'export PATH="/usr/local/opt/libpq/bin:$PATH"' >> ~/.bash_profile source ~/.bash_profile
Denken Sie daran, dass der
Pfad
für die Binärdateien möglicherweise aufecho 'export PATH="/opt/homebrew/opt/libpq/bin:$PATH"' >> ~/.zshrc
aktualisiert wurde. -
-
Eine Alternative zum Aktualisieren des
Pfads
ist das Erstellen vonsymlinks
für jedes gewünschte Dienstprogramm. Ein Beispiel für die Erstellung einessymlinks
sieht wie folgt aus:ln -s /usr/local/Cellar/libpq/10.3/bin/psql /usr/local/bin/psql
Wir sollten im obigen Befehl die installierte Version anstelle von
10.3
verwenden. -
Das letzte Verfahren, das verwendet werden kann, um die Binärdateien mit dem
Pfad
zu verknüpfen, besteht darin, die Homebrew-Software anzuweisen, alle ihre Binärdateien mit demPfad
zu verknüpfen. Beispielsweise führt der folgende Befehl diese Aufgabe aus:brew link --force libpq
Das Problem bei diesem Verfahren ist, dass die Installation des PostgreSQL-Pakets später nicht möglich wäre. Außerdem erstellt dieser Befehl viele
symlinks
, die Sie möglicherweise nicht benötigen.
Lösung 2: Verwenden Sie die Homebrew-Software, um psql
mit PostgreSQL-Server zu installieren
Die zweite Lösung, um psql
zu erhalten, besteht darin, den PostgreSQL-Server herunterzuladen; Der Server wird jedoch nicht verwendet. Homebrew hat einen postgres
-Befehl, aber keinen psql
-Befehl.
Das PostgreSQL-Paket muss mit dem Homebrew-Befehl postgres
installiert werden. Am Ende des Abschnitts caveats
können wir sehen, dass dies die Datenbank nicht ausführt.
Stattdessen legt es nur die Dateien auf Ihrem System ab.
> 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 launched, 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
Der Befehl psql
kann sich jetzt mit entfernten PostgreSQL-Servern verbinden. Der lokale Server würde bei diesem Prozess nicht auf Ihrem System laufen.
Es kann auch überprüft werden, indem die installierten Homebrew-Dienste überprüft werden:
> brew services list
Name Status User Plist
mysql stopped
postgresql stopped
Auf Homebrew-Dienste kann auch zugegriffen werden, selbst wenn sie nicht installiert sind. Wir können den folgenden Befehl verwenden, um die Funktionalität zu erhalten:
> brew tap homebrew/services
Mit der ersten Lösung können Sie also psql
verwenden, ohne das vollständige PostgreSQL-Serverpaket zu installieren. Die zweite Lösung hingegen ermöglicht Ihnen die Verwendung von psql
nach der Installation des PostgreSQL-Servers.
Die zweite Lösung ermöglicht es Ihnen jedoch, eine Verbindung mit Remote-Servern herzustellen, ohne den lokalen PostgreSQL-Server auszuführen.
Hello, I am Bilal, a research enthusiast who tends to break and make code from scratch. I dwell deep into the latest issues faced by the developer community and provide answers and different solutions. Apart from that, I am just another normal developer with a laptop, a mug of coffee, some biscuits and a thick spectacle!
GitHub