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.
Mit der PostgreSQL-Erweiterung für Visual Studio Code können Sie psqlSitzungen öffnen, die automatisch mit Ihren Datenbanken verbunden sind, und .sqlDateien über psql ausführen. Sie erhalten vollzugriff auf systemeigene psql Features, einschließlich umgekehrter Schrägstrichbefehle, COPY Workflows und interaktive Skripts, ohne den Editor verlassen zu müssen.
Die Erweiterung übergibt Verbindungsdetails (Host, Port, Datenbank, Benutzer und Kennwort) psql automatisch, sodass Sie sofort nach dem Öffnen einer Sitzung arbeiten können.
Voraussetzungen
- PostgreSQL-Erweiterung für Visual Studio Code installiert.
- Eine aktive Verbindung mit einem PostgreSQL-Server. Schritte zum Einrichten finden Sie in der Schnellstartanleitung: Verbinden und Abfragen von PostgreSQL.
- Der
psqlBefehlszeilenclient, der auf Ihrem System installiert ist. - Öffnen Sie einen Arbeitsbereichsordner in Visual Studio Code.
Note
Wenn die Erweiterung nicht gefunden psqlwerden kann, wird eine Fehlermeldung mit einem Link " Weitere Informationen " zur Downloadseite von PostgreSQL angezeigt. Sie können die Erweiterung mit der Einstellung pgsql.pgBinaryDirs auch so konfigurieren, dass sie einen benutzerdefinierten Installationsspeicherort verwendet. Siehe Konfigurieren des binären psql-Pfads.
Auswählen zwischen psql und dem Abfrage-Editor
Die meisten PostgreSQL-Workflows verwenden beide Tools zu unterschiedlichen Zeiten:
| Werkzeug | Am besten geeignet für: |
|---|---|
| Abfrage-Editor und IntelliSense | IntelliSense, grafische Ergebnisse, Diagramme, Abfrageverlauf und Exportieren von Ergebnissen. |
psql Terminal |
Backslash-Befehle, systemeigene Skriptausführung, \copy Workflows und Terminal-basierte Fehlerbehebung. |
Öffnen eines verbundenen Terminals
Öffnen Sie eine psql Sitzung, die automatisch mit einer bestimmten Datenbank verbunden ist. Die Erweiterung startet psql mit den Flags -h, -p, -d und -U und setzt die Umgebungsvariable PGPASSWORD, sodass Sie keine Verbindungsdetails manuell eingeben müssen.
- Klicken Sie in der Verbindungsstruktur mit der rechten Maustaste auf einen Datenbankknoten.
- Wählen Sie "Mit PSQL verbinden" aus.
Ein Visual Studio Code Aufgabenterminal wird geöffnet, das mit psql der ausgewählten Datenbank verbunden ist. Die Terminalregisterkarte heißt PSQL: <Profilname>.
Sie können diesen Befehl auch über die Befehlspalette ausführen (Ctrl+Shift+P / Cmd+Shift+P): Suchen Sie nach PGSQL: Verbinden Sie sich mit PSQL.
Note
Bei Verbindungen mit Azure Database for PostgreSQL, die die Microsoft-Entra-ID-Authentifizierung verwenden, überprüft die Erweiterung das Authentifizierungstoken, bevor psql gestartet wird, und übergibt das Token als Kennwort. Ihre Sitzung bleibt ohne manuelle erneute Authentifizierung verbunden.
Ausführen einer SQL-Datei
Führen Sie eine .sql-Datei über psql unter Verwendung der Verbindung aus dem aktiven Editor aus. Die Ausgabe wird im Aufgaben-Terminal von Visual Studio Code angezeigt.
- Öffnen Sie eine
.sqlDatei im Editor. - Verbinden Sie den Editor mit einer Datenbank, wenn sie noch nicht verbunden ist.
- Klicken Sie mit der rechten Maustaste in den Editor, und wählen Sie "Datei ausführen" mit PSQL aus.
Die Erweiterung speichert die Datei und führt dann psql -f <filepath> gegen die aktive Verbindung aus. Ein Aufgabenterminal wird geöffnet, um die Ausführungsausgabe anzuzeigen. Das Arbeitsverzeichnis ist auf den Ordner gesetzt, der die Datei enthält, sodass relative Pfade in Ihrem Skript korrekt aufgelöst werden.
Important
Speichern Sie die Datei vor der Ausführung. Wenn nicht gespeicherte Änderungen nicht gespeichert werden können, zeigt die Erweiterung eine Meldung an, die besagt, dass die Datei gespeichert werden muss, bevor PSQL-Befehle ausgeführt werden. Der Vorgang wird abgebrochen.
Konfigurieren Sie den Pfad zur psql-Binärdatei
Die Erweiterung sucht an drei Stellen in dieser Reihenfolge nach psql:
- Gebündelte Binärdateien: PostgreSQL-Clienttools, die mit der Erweiterung ausgeliefert werden, organisiert nach Version.
-
System PATH: Verzeichnisse, die in der Umgebungsvariable
PATHIhres Betriebssystems aufgeführt sind. -
Benutzerdefinierte Verzeichnisse: Pfade, die Sie der
pgsql.pgBinaryDirsEinstellung hinzufügen.
Wenn mehrere Versionen gefunden psql werden, wählt die Erweiterung die Version aus, die am besten mit der PostgreSQL-Version Ihres Servers übereinstimmt. Wenn keine genaue Übereinstimmung vorhanden ist, wird die nächstgelegene verfügbare Version verwendet.
So fügen Sie ein benutzerdefiniertes Binärverzeichnis hinzu:
- Öffnen Sie Einstellungen (
Ctrl+,/Cmd+,). - Suchen Sie nach
pgsql.pgBinaryDirs. - Wählen Sie "Element hinzufügen" aus, und geben Sie den absoluten Pfad zu dem Verzeichnis ein, das die
psqlBinärdatei enthält. - Starten Sie Visual Studio Code neu, damit die Änderung wirksam wird.
Tip
Auf macOS mit Homebrew ist /opt/homebrew/opt/postgresql@17/binder typische Pfad . Auf Windows ist es in der Regel C:\Program Files\PostgreSQL\17\bin.
Wie die Erweiterung psql startet
Wenn Sie "Mit PSQL verbinden " oder " Datei ausführen" mit PSQL auswählen, setzt die Erweiterung den psql Aufruf wie folgt zusammen:
| Verbindungsdetails | Wie die Erweiterung sie übergibt |
|---|---|
Host (-h) |
Von der Serveradresse des Verbindungsprofils aus. |
Port (-p) |
Vom Port des Verbindungsprofils aus. Der Standardwert lautet 5432. |
Datenbank (-d) |
Der ausgewählte Datenbankknoten oder die Standarddatenbank des Verbindungsprofils |
Benutzer (-U) |
Der Benutzername des Verbindungsprofils; bei Microsoft Entra ID der Entra-ID-Benutzername oder die E-Mail-Adresse |
| Passwort | Wird über die Umgebungsvariable PGPASSWORD festgelegt; für Microsoft Entra ID das aktualisierte Zugriffstoken |
| Clientcodierung | Wird über die PGCLIENTENCODING Umgebungsvariable festgelegt (standardmäßig UTF8) |
Die Erweiterung führt psql als Visual Studio Code-Aufgabe aus, die im Bereich Terminal geöffnet wird. Das Aufgabenterminal bleibt geöffnet, nachdem psql beendet wird, sodass Sie die Ausgabe prüfen können.
Anwendungsfälle
Das psql Terminal ist nützlich, wenn Sie Funktionen benötigen, die über den integrierten Abfrage-Editor hinausgehen:
-
Interaktive SQL-Sitzungen: Führen Sie Ad-hoc-Befehle aus, und prüfen Sie die Ergebnisse in einer vertrauten
psqlUmgebung. -
Massendatenimport/-export: Verwenden
\copyoderCOPYBefehle zum Laden leistungsstarker Daten. -
Administrative Aufgaben: Verwalten von Rollen, Berechtigungen und Serverkonfiguration mit vollzugriff
psql. -
Skripte testen: Überprüfen Sie
.sqlSkripte im nativenpsql, bevor Sie sie bereitstellen. -
Backslash-Befehle: Verwenden Sie
\dt,\d+,\timing,\xund andere Befehle, die im grafischen Abfrage-Editor nicht verfügbar sind.
Häufige psql Aufgaben
Überprüfen von Datenbankobjekten
Verwenden Sie psql, Backslash-Befehle für eine schnelle Schema-Inspektion:
\dt
\d+ public.orders
\dn
Diese Befehle listen Tabellen auf, zeigen detaillierte Objektdefinitionen an und listen Schemas auf.
Aktivieren Sie Zeitangaben und die erweiterte Ausgabe
\timing on
\x on
SELECT * FROM public.orders LIMIT 5;
\timing zeigt die Abfragedauer nach jeder Anweisung an. Erweiterte Ausgabe (\x) erleichtert das Lesen breiter Zeilen.
Laden oder Exportieren von Daten mit \copy
\copy public.customers FROM '/Users/example/customers.csv' WITH (FORMAT csv, HEADER true)
Verwenden Sie \copy für terminalbasierte Massenimporte oder -exporte und verwenden Sie dabei den von der Erweiterung verwalteten Verbindungskontext wieder.
Troubleshoot
psql nicht gefunden
Wenn die Erweiterung den Fehler "Psql ausführbare Datei konnte nicht gefunden werden" angezeigt wird, führen Sie die folgenden Schritte aus:
- Installieren Sie die PostgreSQL-Clienttools für Ihr Betriebssystem auf der Downloadseite der PostgreSQL.Install the PostgreSQL client tools for your operating system from the PostgreSQL downloads page.
- Stellen Sie sicher, dass
psqlverfügbar ist, indem Siepsql --versionin einem Systemterminal ausführen. - Wenn
psqlin einem nicht standardmäßigen Verzeichnis installiert ist, fügen Sie der Einstellungpgsql.pgBinaryDirsdas Verzeichnis hinzu. Siehe Konfigurieren des binären psql-Pfads. - Starten Sie Visual Studio Code neu.
Arbeitsbereichsordner öffnen
Zum Starten von psql benötigt die Erweiterung einen geöffneten Arbeitsbereichsordner. Wenn eine Meldung besagt, dass ein Arbeitsbereichsordner geöffnet sein muss, öffnen Sie einen Ordner mit dem Ordner " Datei>öffnen", und versuchen Sie es dann erneut.
Authentifizierungs- oder Verbindungsfehler
Wenn psql geöffnet wird, die Verbindung jedoch fehlschlägt:
- Vergewissern Sie sich, dass der Host, port und die Datenbank in Ihrem Verbindungsprofil korrekt sind. Siehe Verbindungen und Identität.
- Überprüfen Sie bei Microsoft Entra ID Authentifizierung, ob Ihr Konto noch angemeldet ist. Die Erweiterung aktualisiert Token automatisch, aber abgelaufene Sitzungen können eine erneute Authentifizierung erfordern.
- Wenn Sie SSL oder einen SSH-Tunnel verwenden, testen Sie die gleiche Verbindung aus dem Verbindungsdialogfeld, bevor Sie erneut öffnen
psql.
Dateiänderungen werden nicht ausgeführt
Wenn Sie eine Datei mit Datei mit PSQL ausführen ausführen, speichert die Erweiterung die Datei vor der Ausführung auf der Festplatte. Wenn der Speichervorgang fehlschlägt, bricht die Erweiterung den Vorgang ab. Speichern Sie die Datei erfolgreich, bevor Sie die Ausgabe überprüfen.