Verwenden von psql im Terminal

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

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.

  1. Klicken Sie in der Verbindungsstruktur mit der rechten Maustaste auf einen Datenbankknoten.
  2. 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.

  1. Öffnen Sie eine .sql Datei im Editor.
  2. Verbinden Sie den Editor mit einer Datenbank, wenn sie noch nicht verbunden ist.
  3. 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:

  1. Gebündelte Binärdateien: PostgreSQL-Clienttools, die mit der Erweiterung ausgeliefert werden, organisiert nach Version.
  2. System PATH: Verzeichnisse, die in der Umgebungsvariable PATH Ihres Betriebssystems aufgeführt sind.
  3. Benutzerdefinierte Verzeichnisse: Pfade, die Sie der pgsql.pgBinaryDirs Einstellung 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:

  1. Öffnen Sie Einstellungen (Ctrl+, / Cmd+,).
  2. Suchen Sie nach pgsql.pgBinaryDirs.
  3. Wählen Sie "Element hinzufügen" aus, und geben Sie den absoluten Pfad zu dem Verzeichnis ein, das die psql Binärdatei enthält.
  4. 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 psql Umgebung.
  • Massendatenimport/-export: Verwenden \copy oder COPY Befehle zum Laden leistungsstarker Daten.
  • Administrative Aufgaben: Verwalten von Rollen, Berechtigungen und Serverkonfiguration mit vollzugriff psql .
  • Skripte testen: Überprüfen Sie .sql Skripte im nativen psql, bevor Sie sie bereitstellen.
  • Backslash-Befehle: Verwenden Sie \dt, \d+, \timing, \x und 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:

  1. 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.
  2. Stellen Sie sicher, dass psql verfügbar ist, indem Sie psql --version in einem Systemterminal ausführen.
  3. Wenn psql in einem nicht standardmäßigen Verzeichnis installiert ist, fügen Sie der Einstellung pgsql.pgBinaryDirs das Verzeichnis hinzu. Siehe Konfigurieren des binären psql-Pfads.
  4. 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.