Verbindung zu psql
herstellen
Verwenden Sie psql
für die direkte Interaktion und Überwachung der Datenstrukturen, die in der Datenbank erstellt werden psql
ist auch nützlich zum Testen und Überwachen von Abfragen und Leistung, zum Installieren und
Ändern von Scripts und für andere Managementaktivitäten.
Der Benutzer admin
verfügt über die Standardrolle PostgreSQL pg_monitor
die den Zugriff auf PostgreSQL Überwachungsansichten und
-funktionen ermöglicht. Der Benutzer admin
hat standardmäßig keine Berechtigungen für Objekte, die von anderen Benutzern erstellt wurden.
Sie müssen das Passwort admin
festlegen, bevor Sie es für die Verbindung zur Datenbank verwenden. Weitere Informationen finden Sie auf der Seite Administratorkennwort festlegen.
Installieren von psql
Zur Verwendung von psql
müssen die PostgreSQL-Client-Tools auf dem lokalen System installiert werden. Sie können mit dem vollständigen Paket PostgreSQL installiert werden, das von postgresql.org zur Verfügung gestellt wird, oder als Paket über den Paketmanager Ihres Betriebssystem s installiert werden.
Weitere Informationen über psql
finden Sie in der Dokumentation PostgreSQL.
Die meisten Anweisungen zur Installation der PostgreSQL-Tools gehen davon aus, dass Sie die Datenbank ebenfalls installieren möchten. Es ist eine vernünftige Annahme, wenn Sie es mit Benutzern zu tun haben, die keinen Zugriff auf PostgreSQL in der Cloud oder auf einem fernen Server haben.
Hier sind die Schritte zur Installation von psql
als eigenständiges Tool unter macOS, Linux und Windows.
psql
unter macOS mit Homebrew installieren
Es wird Homebrew als Paketmanager für macOSempfohlen. Mit Homebrew können Sie zahlreiche Anwendungen installieren, in der Regel mit den in /usr/local/bin
verfügbaren
Programmen. Das Paket Homebrew für die PostgreSQL-Client-Tools ist das Paket libpq
. Brew macht es einfach zu installieren:
brew install libpq
Es gibt jedoch einen kleinen Catch: libpq
installiert sich nicht selbst im Verzeichnis /usr/local/bin
. Um dies zu erreichen, müssen Sie Folgendes ausführen:
brew link --force libpq
Dadurch wird eine symbolische Verbindung (eine Datei, die auf eine andere Datei oder einen anderen Ordner verweist) zu allen Tools (nicht nur libpq
) im Verzeichnis /usr/local/bin
hergestellt.
Installation von postgresql-client
auf Ubuntu
Linux-Systeme haben, im Gegensatz zu macOS, einen eingebauten Paketmanager. Für Ubuntu (und Debian-basierte Distributionen) ist das der apt
Befehl. Der PostgreSQL-Client wird in dem gleichnamigen postgresql-client
verteilt. Um es zu installieren, führen Sie einen Befehl wie diesen aus:
sudo apt-get install postgresql-client
Dadurch wird der PostgreSQL-Client installiert.
Installation von postgresql-client
auf Red Hat Enterprise Linux
Für Red Hat Enterprise Linux (oder RHEL, wie es üblicherweise geschrieben wird), gibt es ein wenig mehr Setup als bei Ubuntu. Für RHEL lautet der Paketmanager Yum
.
Zuerst müssen Sie Yum
auf das PostgreSQL Repository verweisen, etwa so:
sudo yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-redhat10-10-2.noarch.rpm
Yum
geht zu diesem URL und konfiguriert sich selbst für die Verwendung dieses Paket-Repositorys. Danach können Sie Pakete nach Namen hinzufügen:
sudo yum install postgresql15
Mit diesem Befehl werden nur die Client-Pakete installiert. Wenn Sie sich fragen, wo Sie das Repository URL finden, gehen Sie zu Linux Downloads ( Red Hat Familie), wo Sie ein Formular finden, mit dem Sie die PostgreSQL Version, Plattform und Architektur auswählen können, und Sie erhalten die entsprechenden Anweisungen für diese Red Hat Variante - dazu gehören CentOS, Scientific Linux und Oracle Enterprise Linux. Es umfasst auch Fedora. Die Standard-Repositories von Fedora enthalten bereits einen PostgreSQL Client. Für Fedora 27 und 28 und höher installieren Sie den PostgreSQL-Client über das Terminal mit:
sudo dnf install postgresql.x86_64
unter psql
Windows installieren
Für Windows verwenden Sie das PostgreSQL Installationsprogramm von Enterprise DB. Es ist ein vollständiges Installationspaket
für PostgreSQL unter Windows, aber Sie können es so einstellen, dass es nur die Kommandozeilentools wie psql
installiert. Wählen Sie Ihre PostgreSQL- und Windows-Version. Sobald die ausführbare Datei heruntergeladen ist, führen
Sie sie aus. Wählen Sie nur die Befehlszeilentools, wenn Sie den Server nicht installieren müssen.
Nach der Installation richten Sie Ihre Windows-Umgebungsvariablen so ein, dass Sie den psql
-Client in der Eingabeaufforderung verwenden können. Gehen Sie zu Systemsteuerung > System und Sicherheit > System und wählen Sie* Erweiterte Systemeinstellungen*. Dort sehen Sie ein Feld mit der Bezeichnung Systemeigenschaften. Wählen Sie Umgebungsvariablen aus. Es erscheint ein Fenster
mit den beiden Sätzen von Umgebungsvariablen. Wählen Sie im obersten Satz mit der Bezeichnung "Benutzervariablen für..." den Eintrag PATH
und klicken Sie dann auf die Schaltfläche Bearbeiten. Es erscheint
ein Bearbeitungsfenster. Klicken Sie auf Neu und fügen Sie den Pfad zum psql
-Client hinzu. Ihr Pfad hängt davon ab, wo PostgreSQL installiert ist, aber typischerweise wäre das:
C:\Program Files\PostgreSQL\<POSTGRES_VERSION>\bin
Klicken Sie danach ein paar Mal auf OK, um zum Desktop zurückzukehren. Starten Sie eine neue Eingabeaufforderung und Sie sollten psql
ausführen können.
psql
Verbindungszeichenfolgen
Verbindungszeichenfolgen werden im Bereich Endpunkte in der Übersicht Ihrer Bereitstellung angezeigt und können auch über das Cloud Databases CLI-Plug-in und die API abgerufen werden.
Die Informationen, die Sie für eine Verbindung mit psql
benötigen, befinden sich im Abschnitt "cli" Ihrer Verbindungszeichenfolgen. Die Tabelle enthält eine Aufgliederung zu Referenzzwecken.
Feldname | Index | Beschreibung |
---|---|---|
Bin |
Die empfohlene Binärdatei zum Erstellen einer Verbindung. In diesem Fall ist dies psql . |
|
Composed |
Ein formatierter Befehl zum Aufbauen einer Verbindung zu Ihrer Bereitstellung. Der Befehl kombiniert die ausführbare Datei Bin , die Environment und verwendet Arguments als Befehlszeilenparameter. |
|
Environment |
Eine Liste von Schlüsseln/Werten, die Sie als Umgebungsvariablen festlegen. | |
Arguments |
0... | Die Informationen, die als Argumente an den im Feld 'Bin' angezeigten Befehl übergeben werden. |
Certificate |
Base64 | Ein diensteigenes Zertifikat, das verwendet wird, um zu bestätigen, dass eine Anwendung eine Verbindung zum entsprechenden Server herstellt. Das Zertifikat liegt in Base64-Codierung vor. |
Certificate |
Name | Der zugewiesene Name für das diensteigene Zertifikat. |
Type |
Der Typ des Pakets, das diese Verbindungsinformationen verwendet; in diesem Fall cli . |
0...
Gibt an, dass es möglicherweise weitere derartige Einträge in einem Array gibt.
Erstellen einer Befehlszeilen-Client-Verbindung
Stellen Sie vor dem Erstellen einer Befehlszeilenclientverbindung sicher, dass Sie das Administratorkennwort für Ihre Implementierung festgelegt haben.
Der Befehl ibmcloud cdb deployment-connections
verarbeitet alles, was an der Erstellung einer Befehlszeilenclient-Verbindung beteiligt ist. Um beispielsweise eine Verbindung zu einer Bereitstellung mit dem Namen 'example-postgres'
herzustellen, verwenden Sie den folgenden Befehl:
ibmcloud cdb deployment-connections <INSTANCE_NAME_OR_CRN> --start
oder
ibmcloud cdb cxn <INSTANCE_NAME_OR_CRN> -s
Der Befehl fordert Sie zur Eingabe des Administratorkennworts auf und führt dann den psql
-Befehlszeilenclient aus, um eine Verbindung zur Datenbank herzustellen.
Wenn Sie das Cloud Databases CLI-Plugin nicht installiert haben, stellen Sie mit psql
eine Verbindung zu Ihren PostgreSQL-Datenbanken her, indem Sie ihm die Verbindungszeichenfolge "composed" geben. Sie stellt die Umgebungsvariablen
PGPASSWORD
und PGSSLROOTCERT
bereit. Setzen Sie PGPASSWORD
auf das Passwort des Administrators und PGSSLROOTCERT
auf den Pfad oder Dateinamen für das diensteigene Zertifikat.
PGPASSWORD=$PASSWORD PGSSLROOTCERT=0b22f14b-7ba2-11e8-b8e9-568642342d40 psql 'host=4a8148fa-3806-4f9c-b3fc-6467f11b13bd.8f7bfd7f3faa4218aec56e069eb46187.databases.appdomain.cloud port=32325 dbname=ibmclouddb user=admin sslmode=verify-full'
Verwendung des diensteigenen Zertifikats
- Kopieren Sie die Zertifikatsinformationen aus der Anzeige Endpunkte oder aus dem Feld Base64 der Verbindungsinformationen.
- Decodieren Sie bei Bedarf die Base64-Zeichenfolge in Text.
- Speichern Sie das Zertifikat in einer Datei. (Sie können den vorgegebenen Namen übernehmen oder einen eigenen Dateinamen angeben. )
- Geben Sie den Pfad zum Zertifikat für die Umgebungsvariable
ROOTCERT
an.
Sie können das decodierte Zertifikat für Ihre Bereitstellung mit dem CLI-Plug-in anzeigen, indem Sie den folgenden Befehl verwenden:
ibmcloud cdb deployment-cacert <INSTANCE_NAME_OR_CRN>
Der Befehl decodiert Base64 in Text. Kopieren und speichern Sie die Befehlsausgabe in einer Datei und geben Sie den Dateipfad zur Umgebungsvariablen ROOTCERT
an.
Eine weitere Option ist das Hinzufügen von &sslrootcert=/path/to/cert
zu Ihrer Verbindungszeichenfolge. Beispiel:
postgres://$USERNAME:$PASSWORD@6eb96148-90bc-49a0-a5a4-dc2b53334653.btdl8mld0r95fevivv30.databases.appdomain.cloud:32109/ibmclouddb?sslmode=verify-full&sslrootcert=/path/to/cert