Erweiterte Verbindungsoptionen

In diesem Artikel werden die erweiterten Verbindungsfunktionen in der PostgreSQL-Erweiterung für Visual Studio Code behandelt. Verwenden Sie diese Optionen, wenn Sie eine vorhandene Verbindungszeichenfolge wiederverwenden müssen, Zertifikatdateien für eine strengere TLS-Überprüfung bereitstellen oder eine Verbindung über einen Bastionhost mit einem SSH-Tunnel herstellen müssen.

Tip

Informationen zur Standardauthentifizierung, SSL-Modusauswahl, Servergruppen und gespeicherten Verbindungen finden Sie unter "Verbindungen und Identität".

Verwenden Sie den Eingabemodus für Verbindungszeichenfolgen

Wählen Sie im Verbindungsdialogfeld die Registerkarte "Verbindungszeichenfolge " (unter "Verbinden über:") aus, um eine vorhandene Verbindungsdefinition einzufügen. Die Erweiterung analysiert die Zeichenfolge automatisch und füllt die Verbindungsfelder auf.

Die Seite verwendet ein zweispaltiges Layout:

  • Linke Spalte: ein Textbereich mit der Bezeichnung "Verbindungszeichenfolge ", in den Sie die Zeichenfolge einfügen. Ein Hinweis unterhalb des Textbereichs liest Bitte lassen Sie das Kennwort aus der Verbindungszeichenfolge weg.
  • Rechte Spalte: Ein schreibgeschützter Bereich "Verbindungsdetails", in dem die analysierten Servernamen-, Benutzernamen- und Datenbanknamenwerte angezeigt werden, während sie extrahiert werden.

Das Parsen erfolgt in Echtzeit, während Sie tippen oder Inhalte einfügen. Wenn der Parser einen fehlenden Server- oder Benutzerwert erkennt, wird oberhalb des Textbereichs ein Überprüfungsfehler angezeigt.

Unterstützte Formate

Die Erweiterung erkennt neun Verbindungszeichenfolge Formate:

Format Präfix oder Auslöser Beispiel
PostgreSQL URI postgres:// oder postgresql:// postgresql://user:password@host:5432/dbname?sslmode=require
JDBC jdbc:postgresql:// jdbc:postgresql://host:5432/dbname
Durch Semikolon getrennt (key=value) Enthält ; host=localhost;port=5432;dbname=mydb;user=postgres;password=secret
psql Befehlszeile psql psql -h host -p 5432 -U user -d dbname
Exporte von Umgebungsvariablen export export PGHOST=localhostgefolgt von PGPORT, , PGUSER, PGDATABASEPGPASSWORD
Node.js new Client new Client({ host: "localhost", port: 5432, user: "postgres", database: "mydb" })
Python (psycopg2) psycopg2.connect psycopg2.connect(user="postgres", password="<your-password>", host="localhost", port=5432, database="mydb")
PHP pg_connect pg_connect("host=localhost port=5432 dbname=mydb user=postgres")
Ruby PG::Connection.new PG::Connection.new(host: "localhost", port: "5432", user: "postgres", database: "mydb")

Der Parser extrahiert Host, Benutzer, Port, Datenbank und Kennwort aus allen Formaten. Wenn bereits ein Kennwortfeld im Dialogfeld ausgefüllt ist, behält der Parser den vorhandenen Wert bei.

Note

Nach dem Parsen können Sie weiterhin den Bereich Erweitert öffnen, um Einstellungen zu konfigurieren, die in Verbindungszeichenfolgen nicht enthalten sind, z. B. SSH-Tunnel oder den KI-Zugriffsmodus für einzelne Verbindungen (Copilot-Zugriffsmodus in Visual Studio Code, KI-Zugriffsmodus in Cursor).

Konfigurieren von Zertifikatdateien

Verwenden Sie die Einstellungen für Zertifikatdateien im Akkordeon-Abschnitt SSL des Bereichs Erweiterte Verbindungseinstellungen, wenn Ihre Umgebung gegenseitiges TLS oder eine explizite Validierung der Zertifizierungsstelle erfordert.

SSL-Stammzertifikatmodus

Die Dropdown-Liste für den SSL-Stammzertifikatmodus steuert, wie die Erweiterung das Root-CA-Zertifikat bereitstellt. Wählen Sie einen der folgenden Werte aus:

Modus Behavior
None Es wird kein Stammzertifikat verwendet. Die Erweiterung überprüft die Serverzertifikatkette nicht.
System Die Erweiterung verwendet den vertrauenswürdigen Zertifikatspeicher Ihres Betriebssystems. Für diesen Modus ist der Ssl-Modus "Verify-Full " erforderlich. die Erweiterung erzwingt dies automatisch.
Benutzerdefinierte Datei Ein Textfeld mit der Bezeichnung SSL-Stammzertifikatdateiname wird angezeigt. Geben Sie den Pfad zu einer Datei mit einem PEM-kodierten Root-CA-Zertifikat ein.

Important

Wenn Sie "System" auswählen, wird der SSL-Modus auf "Verify-Full " automatisch festgelegt. Wenn Sie den SSL-Modus in einen anderen Wert ändern, während Das System aktiv ist, wird ein Überprüfungsfehler angezeigt: "Verify-Full SSL-Modus ist erforderlich, wenn der Systemzertifikatspeicher verwendet wird."

Clientzertifikatfelder

Konfigurieren Sie gegenseitiges TLS, indem Sie Pfade in diesen Feldern im SSL-Abschnitt bereitstellen:

Feldbezeichnung Eigenschaft Beschreibung
SSL-Zertifikatdateiname sslcert Pfad zur Clientzertifikatdatei.
SSL-Schlüsseldateiname sslkey Pfad zur privaten Schlüsseldatei des Clients.
SSL-Stammzertifikatdateiname sslrootcert Pfad zum Zertifikat der Stammzertifizierungsstelle (nur sichtbar, wenn SSL-Stammzertifikatmodus auf Benutzerdefinierte Datei eingestellt ist).
SSL-CRL-Dateiname sslcrl Pfad zu einer Zertifikatsperrlistendatei.
Ssl-Komprimierung verwenden sslcompression Aktiviert die Komprimierung für die SSL-Verbindung.

Tip

Konfigurieren Sie für die Modi "Verify-CA " und " Verify-Full " immer das Stammzertifikat, damit die Erweiterung das Serverzertifikat überprüfen kann. Verwenden Sie den Systemmodus , um auf den vertrauenswürdigen Zertifizierungsstellenspeicher Ihres Betriebssystems zu vertrauen, ohne einen Dateipfad anzugeben.

Herstellen einer Verbindung über einen SSH-Tunnel

Das SSH-Tunneling leitet die PostgreSQL-Verbindung über einen verschlüsselten SSH-Kanal weiter. Verwenden Sie diesen Ansatz, wenn die Datenbank nicht direkt von Ihrer Arbeitsstation aus erreichbar ist. Wenn sich der Server beispielsweise in einem privaten Netzwerk hinter einem Bastionhost befindet.

Aktivieren des Tunnels

  1. Öffnen Sie das Verbindungsdialogfeld, und wählen Sie "Erweitert" aus, um die Schublade für erweiterte Verbindungseinstellungen zu öffnen.
  2. Erweitern Sie den SSH-Tunnel-Accordion-Abschnitt .
  3. Überprüfen Sie die Umschaltfläche "SSH-Tunneling aktivieren ". Die SSH-Verbindungsfelder werden angezeigt.

SSH-Tunnelfelder

Feldbezeichnung Beschreibung
Host Hostname oder IP-Adresse des SSH-Servers (Bastion-Host).
Hafen SSH-Serverportnummer (Standard: 22).
username Benutzername für die Authentifizierung beim SSH-Server.
Authentifizierung SSH-Authentifizierungsmethode. Wählen Sie "Kennwort", " Identitätsdatei" oder "SSH-Agent" aus.

Die verbleibenden Felder ändern sich je nach ausgewählter Authentifizierungsmethode:

Authentifizierungsmethode Weitere angezeigte Felder
Passwort password/passphrase: Geben Sie das SSH-Kennwort ein. Kontrollkästchen "Kennwort/Passphrase speichern", um die Anmeldeinformationen beizubehalten.
Identitätsdatei Identitätsdatei: Geben Sie den vollständigen Pfad zu Ihrem privaten SSH-Schlüssel ein (z. B ~/.ssh/id_ed25519. ). password/passphrase: Geben Sie die Schlüsselpassphrase ein, wenn der private Schlüssel verschlüsselt ist. Kontrollkästchen "Kennwort/Passphrase speichern".
SSH-Agent Keine zusätzlichen Felder. Die Erweiterung delegiert die Authentifizierung an den SSH-Agent Ihres Systems (ssh-agent unter macOS und Linux, OpenSSH-Authentifizierungs-Agent-Dienst auf Windows).

Funktionsweise des Tunnels

Wenn der SSH-Tunnel aktiviert ist, stellt die Erweiterung zuerst die SSH-Verbindung her, erstellt einen lokalen Port vorwärts und stellt dann eine Verbindung mit PostgreSQL über diese Weiterleitung her. Aus diesem Gründen:

  • Der Servername in den Hauptverbindungsfeldern sollte die Datenbankadresse sein, die vom SSH-Host gesehen wird, was häufig localhost oder eine private IP ist.
  • Der Port sollte der PostgreSQL-Port auf dem Zielhost (in der Regel 5432) sein.
  • Die Einrichtung eines SSH-Tunnels fügt verbindungslatenz hinzu. Erwägen Sie, den Wert des Connect-Timeouts in den erweiterten Optionen zu erhöhen, wenn Timeouts auftreten.

Auswählen der richtigen erweiterten Option

Szenario Empfohlenes Feature
Sie verfügen über einen vorhandenen PostgreSQL-URI, einen App-Ausschnitt oder den Befehl psql Wählen Sie die Registerkarte "Verbindungszeichenfolge " aus, um die Felder automatisch aufzufüllen.
Ihre Organisation benötigt benutzerdefinierte CA-Dateien oder mTLS. Konfigurieren Sie die SSL-Zertifikatfelder im SSL-Abschnitt der erweiterten Schublade.
Sie müssen ihren Betriebssystemzertifikatspeicher für die Serverüberprüfung verwenden. Legen Sie den SSL-Stammzertifikatmodus auf Den System - und SSL-Modus auf "Verify-Full" fest.
Die Datenbank ist nur über einen Sprungkasten oder Bastionhost erreichbar. Aktivieren Sie den SSH-Tunnel im Abschnitt SSH-Tunnel des erweiterten Bedienfelds.