IBM Cloud Docs
Verbindung zu psql herstellen

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_monitordie 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 psqlWindows 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.

psql/cli-Verbindungsinformationen
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

  1. Kopieren Sie die Zertifikatsinformationen aus der Anzeige Endpunkte oder aus dem Feld Base64 der Verbindungsinformationen.
  2. Decodieren Sie bei Bedarf die Base64-Zeichenfolge in Text.
  3. Speichern Sie das Zertifikat in einer Datei. (Sie können den vorgegebenen Namen übernehmen oder einen eigenen Dateinamen angeben. )
  4. 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