Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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
- Öffnen Sie das Verbindungsdialogfeld, und wählen Sie "Erweitert" aus, um die Schublade für erweiterte Verbindungseinstellungen zu öffnen.
- Erweitern Sie den SSH-Tunnel-Accordion-Abschnitt .
- Ü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
localhostoder 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. |