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 ist Mitglied der vordefinierten PostgreSQL-Rolle pg_monitor, die den Zugriff auf PostgreSQL-Überwachungsansichten und -Funktionen ermöglicht. Standardmäßig verfügt der Benutzer admin nicht über Berechtigungen für Objekte, die von Benutzern erstellt wurden, die Sie mit SQL-Befehlen anlegen.

Sie müssen das admin Passwort festlegen, bevor Sie es für die Verbindung zur Datenbank verwenden können. Weitere Informationen finden Sie auf der Seite Administratorkennwort festlegen.

Installieren von psql

Um die PostgreSQL-Client-Tools nutzen zu können psql, installieren Sie diese auf Ihrem lokalen System. Sie können sie über die PostgreSQL-Downloadseite oder mit dem Paketmanager Ihres Betriebssystems installieren.

Weitere Informationen finden Sie in der PostgreSQL-Dokumentationpsql.

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 psql auf Red Hat Enterprise Linux

Befolgen Sie die PostgreSQL-Installationsanweisungen für Red Hat-basierte Distributionen. Wählen Sie Ihre PostgreSQL-Version, Plattform und Architektur aus und führen Sie die Befehle aus, mit denen das Repository eingerichtet wird. Installieren Sie anschließend nur das Client-Paket, zum Beispiel sudo dnf install -y postgresql18. Sie müssen keinen PostgreSQL-Server installieren, initialisieren oder starten, um eine Verbindung zu Ihrer Bereitstellung herzustellen.

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 zur Systemsteuerung > System und Sicherheit > System und wählen Sie Erweiterte Systemeinstellungen aus. 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 der Übersicht Ihrer Bereitstellung angezeigt und können außerdem über das Cloud Databases-CLI-Plugin sowie über 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 dienstspezifisches Zertifikat, das dazu dient, zu bestätigen, dass eine Anwendung eine Verbindung zum richtigen Server herstellt. Das Zertifikat liegt in Base64-Codierung vor.
Certificate Name Der zugewiesene Name für das proprietäre Zertifikat des Dienstes.
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.

Einrichten einer Client-Verbindung über die Befehlszeile

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 noch nicht installiert haben, stellen Sie eine Verbindung zu Ihren PostgreSQL-Datenbanken her, psql indem Sie die zusammengesetzte Verbindungszeichenfolge angeben. Sie stellt die Umgebungsvariablen PGPASSWORD und PGSSLROOTCERT bereit. Setzen Sie auf PGPASSWORD das Administratorpasswort und PGSSLROOTCERT auf den Pfad oder Dateinamen für das dienstspezifische 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'

Verbindung zu Bereitstellungen ausschließlich über private Endpunkte

Bei Bereitstellungen, die ausschließlich private Endpunkte verwenden, geben Sie den Endpunkttyp an, wenn Sie Verbindungsinformationen mit der IBM Cloud®-CLI abrufen:

ibmcloud cdb cxn <INSTANCE_NAME_OR_CRN> -s -e private

Die Option -e private gibt die Verbindungsdetails für private Endpunkte zurück. Auf private Endpunkte kann nur von IBM Cloud-Ressourcen mit privater Netzwerkverbindung zugegriffen werden, wie beispielsweise einer VPC, einem Cloud VPN oder einer Cloud Shell.

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