Installieren Sie PSQL, ohne PostgreSQL vollständig zu installieren

Bilal Shahid 20 Juni 2023
  1. Installieren Sie psql, ohne PostgreSQL vollständig zu installieren
  2. Installieren Sie psql, ohne das vollständige PostgreSQL-Serverpaket zu installieren
Installieren Sie PSQL, ohne PostgreSQL vollständig 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.

  1. 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 auf echo 'export PATH="/opt/homebrew/opt/libpq/bin:$PATH"' >> ~/.zshrc aktualisiert wurde.

  2. Eine Alternative zum Aktualisieren des Pfads ist das Erstellen von symlinks für jedes gewünschte Dienstprogramm. Ein Beispiel für die Erstellung eines symlinks 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.

  3. 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 dem Pfad 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.

Bilal Shahid avatar Bilal Shahid avatar

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