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.
Die PostgreSQL-Erweiterung für Visual Studio Code stellt einen Abfrage-Editor mit IntelliSense-Fertigstellungen, tastaturgesteuerter Abfrageausführung, einem Ergebnisraster mit Exportoptionen und integrierten Codeausschnitten bereit. Sie schreiben SQL in einer normalen Editorregisterkarte von VS Code und führen es auf jedem verbundenen PostgreSQL-Server aus, ohne die IDE zu verlassen.
Prerequisites
- 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.
Öffnen eines Abfrage-Editors
Sie können einen neuen Abfrage-Editor auf verschiedene Arten öffnen:
- Klicken Sie in der Verbindungsstruktur mit der rechten Maustaste auf einen Datenbankknoten, und wählen Sie "Neue Abfrage" aus.
- Ausführen
PGSQL: New Queryaus der Befehlspalette (STRG+UMSCHALT+P). - Öffnen oder erstellen Sie eine beliebige Datei mit einer
.sqlErweiterung.
Der Abfrage-Editor verwendet den VS Code-Text-Editor mit dem SQL-Sprachmodus. Wenn Sie den Editor mit einem Server verbinden, aktiviert die Erweiterung IntelliSense und aktiviert Abfrageausführungsbefehle.
Verbinden und trennen
So ordnen Sie einen Abfrage-Editor einer Datenbankverbindung zu:
| Action | Windows / Linux | macOS |
|---|---|---|
| Verbinden | Strg+Shift+C | Cmd+Shift+C |
| Trennen | STRG+UMSCHALT+D | Cmd+Shift+D |
Sie können PGSQL: Connect oder PGSQL: Disconnect auch über die Befehlspalette ausführen.
Ändern des Datenbankkontexts
Die aktive Datenbank für die Abfrageausführung wird in der Statusleiste von VS Code angezeigt. So wechseln Sie zu einer anderen Datenbank:
- Wählen Sie den Datenbanknamen in der Statusleiste aus, oder führen Sie
PGSQL: Change PostgreSQL Databaseüber die Befehlspalette aus. - Wählen Sie die Zieldatenbank im Auswahlfeld aus.
Der neue Datenbankkontext gilt für alle nachfolgenden Abfrageausführungen in diesem Editor.
Verbindungsstatuslinse
Wenn pgsql.showConnectionStatusLens (Standardeinstellung) ist true , zeigt der Editor oben in der Datei ein Codeobjektiv an, das den aktuellen Verbindungsstatus anzeigt. Wählen Sie das Objektiv aus, um Datenbanken zu verbinden oder zu ändern.
IntelliSense
IntelliSense stellt kontextabhängige Autovervollständigen bereit, während Sie SQL im Abfrage-Editor eingeben. Die Erweiterung analysiert Ihr verbundenes Datenbankschema, um Tabellen, Spalten, Funktionen und Schlüsselwörter vorzuschlagen.
IntelliSense wird während der Eingabe automatisch aktiviert, oder Sie können sie manuell mit STRG+LEERTASTE (Cmd+Leerzeichen unter macOS) auslösen. Die folgenden Vervollständigungstypen sind verfügbar:
| Vervollständigungstyp | Description |
|---|---|
| Keyword | SQL-Schlüsselwörter wie SELECT, FROMWHERE |
| Tabelle /Ansicht | Tabellen und Ansichten in der aktuellen Datenbank |
| Column | Spalten für Tabellen, auf die in der Abfrage verwiesen wird |
| Funktion | Integrierte und benutzerdefinierte Funktionen |
| Schema | Verfügbare Schemas in der Datenbank |
| Vorschlag zum Beitritt |
JOIN Klauseln basierend auf Fremdschlüsselbeziehungen |
Wenn Sie nach einem Tabellenverweis eingeben JOIN , schlägt IntelliSense verwandte Tabellen vor und füllt die Verknüpfungsbedingung basierend auf Fremdschlüsselbeziehungen aus.
Konfigurieren von IntelliSense
Aktivieren oder deaktivieren Sie IntelliSense mit der pgsql.intelliSense.enableIntelliSense Einstellung. IntelliSense ist standardmäßig aktiviert.
Aktualisieren des IntelliSense-Caches
Wenn Sie Ihr Datenbankschema ändern (z. B. durch Hinzufügen von Tabellen oder Spalten), und IntelliSense spiegelt diese Änderungen nicht wider, aktualisieren Sie den Cache:
- Öffnen Sie die Befehlspalette (STRG+UMSCHALT+P).
- Führen Sie
PGSQL: Refresh IntelliSense Cacheaus.
Verwenden Sie diesen Befehl nach Schemamigrationen, DDL-Änderungen oder Änderungen, die außerhalb der aktuellen Editorsitzung vorgenommen wurden.
Abfragen ausführen
Die Erweiterung bietet mehrere Möglichkeiten zum Ausführen von SQL-Abfragen für Ihre verbundene Datenbank.
Ausführen einer Abfrage
Verwenden Sie Execute PostgreSQL Query , um SQL im Editor auszuführen. Wenn Sie bestimmten Text markieren, wird nur der markierte Text ausgeführt. Wenn nichts ausgewählt ist, wird der gesamte Inhalt des Editors ausgeführt.
| Action | Windows / Linux | macOS |
|---|---|---|
| Ausführen von PostgreSQL-Abfrage | Strg+Shift+E oder Shift+Enter | Cmd+Umschalt+E oder Umschalt+Enter |
| Aktuelle PostgreSQL-Anweisung ausführen | STRG+UMSCHALT+EINGABETASTE | STRG+UMSCHALT+EINGABETASTE |
Aktuelle PostgreSQL-Anweisung ausführen führt nur die SQL-Anweisung an der aktuellen Cursorposition aus. Verwenden Sie diesen Befehl, wenn Sie mehrere Anweisungen im Editor haben und einen ausführen möchten, ohne ihn auszuwählen.
Abbrechen einer Abfrage
Um eine lang laufende Abfrage zu beenden, führen Sie PGSQL: Cancel PostgreSQL Query in der Befehlspalette aus. Die Statusleiste zeigt den Ausführungsfortschritt an, während eine Abfrage ausgeführt wird.
Bereich "Ergebnisse der PostgreSQL-Abfrage"
Nachdem Sie eine Abfrage ausgeführt haben, werden die Ergebnisse im Bereich "PostgreSQL-Abfrageergebnisse " unterhalb des Editors angezeigt. Der Bereich verfügt je nach Abfragetyp über bis zu drei Registerkarten.
Registerkarte "Ergebnisse"
Auf der Registerkarte "Ergebnisse " wird das Ergebnisraster angezeigt. Wenn eine Abfrage mehrere Resultsets zurückgibt, wird jeder Satz in einem eigenen Raster auf der Registerkarte angezeigt.
Das Ergebnisraster bietet diese Features zum Untersuchen von Daten:
- Sortieren: Klicken Sie mit der rechten Maustaste auf eine Spaltenüberschrift, und wählen Sie " Aufsteigend sortieren" oder "Absteigend sortieren" aus. Wählen Sie " Sortieren löschen " aus, um die Sortierung zu entfernen.
- Filter: Klicken Sie mit der rechten Maustaste auf eine Spaltenüberschrift, und wählen Sie "Filter anzeigen " aus, um angezeigte Zeilen einzugrenzen.
-
Ändern der Größe von Spalten: Ziehen Sie Spaltenrahmen, um die Breite anzupassen, oder aktivieren
pgsql.resultsGrid.autoSizeColumnsSie (standardmäßig aktiviert) die automatische Größe von Spalten basierend auf sichtbaren Inhalten. - Zeilennummerierung: Zeilennummern werden auf der linken Seite des Rasters angezeigt.
- Suche: Verwenden Sie das Suchfeld in der Ergebnissymbolleiste, um Werte im Raster zu finden.
Verknüpfte Abfragen und breitere Resultsets verwenden dieselbe Rasteroberfläche, sodass Sie verwandte Spalten sortieren, filtern und scannen können, ohne den Editor verlassen zu müssen.
Daten kopieren
Klicken Sie mit der rechten Maustaste in das Ergebnisraster, um auf Kopieroptionen zuzugreifen:
| Auswahl | Description |
|---|---|
| Alles markieren | Alle Zeilen im Resultset auswählen |
| Copy | Ausgewählte Zellen in die Zwischenablage kopieren |
| Mit Kopfzeilen kopieren | Kopieren ausgewählter Zellen mit Spaltenüberschriften |
| Kopfzeilen kopieren | Nur die Spaltenüberschriften kopieren |
Sie können auch diese Tastenkombinationen im Ergebnisbereich verwenden (konfigurierbar über die pgsql.shortcuts Einstellung):
| Action | Standardtastenkombination |
|---|---|
| Auswahl kopieren | STRG+C |
| Alle auswählen | STRG+A |
| Ergebnisbereich ein-/ausblenden | STRG+ALT+R |
| Nachrichtenbereich ein-/ausblenden | STRG+ALT+Y |
| Focus-Ergebnistabelle | STRG+ALT+G |
| Vorheriges Ergebnisraster | STRG+NACH-OBEN |
| Nächstes Ergebnisraster | STRG+NACH-UNTEN |
Tip
pgsql.copyIncludeHeaders auf true festlegen, um Spaltenüberschriften jedes Mal beim Kopieren einzuschließen. Legen Sie pgsql.copyRemoveNewLine auf false fest, um Zeilenumbruchzeichen beim Kopieren von Zellen beizubehalten.
Speichern von Ergebnissen
Exportieren Sie Abfrageergebnisse, indem Sie in der Ergebnissymbolleiste eine Schaltfläche "Speichern" auswählen:
| Schaltfläche | Format |
|---|---|
| Als CSV speichern | Durch Kommas getrennte Werte (.csv) |
| Als JSON speichern | JavaScript-Objektnotation (.json) |
| Als Excel speichern | Microsoft Excel Arbeitsmappe (.xlsx) |
Anpassen des CSV-Exportverhaltens mit den folgenden Einstellungen:
| Einstellung | Description | Vorgabe |
|---|---|---|
pgsql.saveAsCsv.delimiter |
Spaltentrennzeichen | , |
pgsql.saveAsCsv.lineSeparator |
Zeilentrennzeichen | System-Standardeinstellung |
pgsql.saveAsCsv.textIdentifier |
Zeichen für das Einschließen von Textfeldern | " |
pgsql.saveAsCsv.encoding |
Dateicodierung | utf-8 |
pgsql.saveAsCsv.includeHeaders |
Spaltenüberschriften einschließen | true |
Ergebnisse in einer separaten Registerkarte öffnen
Öffnen Sie bei großen Ergebnismengen die Ergebnisse in einer separaten Editor-Registerkarte, um mehr Platz zu haben. Wählen Sie in der Ergebnis-Symbolleiste „In neuer Registerkarte öffnen“ aus, oder setzen Sie pgsql.openQueryResultsInTabByDefault in Ihren Einstellungen auf true, um Ergebnisse immer in einer separaten Registerkarte zu öffnen.
Nachrichten-Tab
Auf der Registerkarte "Nachrichten " werden Abfrageausführungsinformationen einschließlich Statusmeldungen, Zeilenanzahl und Ausführungszeit angezeigt. Jede Nachricht enthält einen Zeitstempel.
Der Nachrichtenbereich wird standardmäßig zusammen mit dem Ergebnisraster geöffnet. Um dieses Verhalten zu ändern, legen Sie diese pgsql.messagesDefaultOpen Einstellung auf false.
Tip
Setzen Sie pgsql.showBatchTime auf true, um die Ausführungszeit für einzelne Batches anzuzeigen.
Registerkarte "Abfrageplan"
Wenn Sie eine EXPLAIN Abfrage EXPLAIN ANALYZE ausführen, wird neben "Ergebnisse" und "Nachrichten" eine Registerkarte "Abfrageplan" angezeigt. Wählen Sie diese Registerkarte aus, um die integrierte Ausführungsplanschnellansicht zu öffnen, oder wählen Sie die Schaltfläche "Abfrageplan visualisieren " in der Symbolleiste des PostgreSQL-Abfrageergebnissebereichs aus.
Sie können auch Visualize Query Plan (PostgreSQL) aus der Befehlspalette ausführen, um den Plan für die aktuelle Abfrage zu visualisieren.
Ausführliche Informationen zum Visualisierer für Ausführungspläne finden Sie unter Visualisierer für Abfragepläne.
Graph-Ansicht für Apache AGE-Abfragen
Wenn eine Abfrage graphorientierte Ergebnisse aus Apache AGE zurückgibt, erkennt die Erweiterung Funktionsaufrufe cypher() und Apache AGE-Muster (agtype, ag_catalog) und öffnet den Ergebnisbatch in einer Diagrammansicht anstelle des Standardrasters.
- Ansichten wechseln: Wählen Sie in der Ergebnissymbolleiste "Zu Graph wechseln" aus, um von dem Raster zur Diagrammansicht zu wechseln, oder wechseln Sie zu "Tabelle ", um zum Raster zurückzukehren.
- Überprüfen von Elementen: Wählen Sie Knoten oder Kanten im Diagramm aus, um ihre Beschriftungen und Eigenschaften im Eigenschaftenbereich anzuzeigen.
- Navigieren Sie: Verwenden Sie die Schaltflächen der Diagrammsymbolleiste: Zoomen, Verkleineren, Anpassen und Zurücksetzen.
- Exportieren: Wählen Sie " Als PNG speichern" in der Diagrammsymbolleiste aus, um das Diagramm als Bild zu exportieren.
Note
Wenn die Abfrage keine graphbaren Daten zurückgibt, behält die Erweiterung die Standardrasteransicht bei.
Codeausschnitte
Die Erweiterung enthält integrierte PostgreSQL-Codeausschnitte, mit denen Sie ein Gerüst für allgemeine SQL-Muster erstellen können. Geben Sie ein Codeausschnittpräfix in den Editor ein, und drücken Sie die TAB-TASTE , um den Codeausschnitt zu erweitern. Durchlaufen Sie Platzhalter innerhalb des erweiterten Codeausschnitts, um Werte auszufüllen.
Verfügbare Codeausschnitte
| Präfix | Description |
|---|---|
pgCreateTable |
Erstellen einer einfachen Tabelle mit einem Primärschlüssel |
pgDropDatabase |
Ablegen einer vorhandenen PostgreSQL-Datenbank |
pgDropTable |
Entfernen einer Tabelle |
pgInsertData |
Einfügen einer Zeile in eine Tabelle |
pgSelectAll |
Einfache SELECT * Abfrage |
pgUpdateRows |
Aktualisieren von Daten in einer Tabelle |
pgDeleteRows |
Löschen von Daten aus einer Tabelle |
pgCreateIndex |
Erstellen eines Indexes für eine angegebene Spalte |
pgCreateUser |
Erstellen einer neuen Rolle oder eines neuen Benutzers |
pgGrantPrivileges |
Berechtigungen für eine Tabelle einem Benutzer gewähren |
pgCTE |
Common Table Expression (CTE)-Beispiel |
pgLeftJoin |
LEFT JOIN Abfragebeispiel |
pgExplainAnalyze |
EXPLAIN ANALYZE Abfrage für Leistungsdetails |
pgListTables |
Alle Tabellen in einem bestimmten Schema auflisten |
Tip
Geben Sie pg im Editor ein, und durchsuchen Sie die IntelliSense-Vorschläge, um alle verfügbaren Snippets anzuzeigen.
Abfrageverlauf
Die Abfrageverlaufsansicht im Bereich der PostgreSQL-Aktivitätsleiste erfasst automatisch die von Ihnen ausgeführten Abfragen, sodass Sie sie später erneut aufrufen und wiederverwenden können.
Verwalten des Abfrageverlaufs
| Action | So geht's: |
|---|---|
| Öffnen einer Abfrage | Wählen Sie einen Eintrag in der Abfrageverlaufsansicht aus, um ihn in einen neuen Editor zu laden. |
| Ausführen einer Abfrage | Klicken Sie mit der rechten Maustaste auf einen Eintrag, und wählen Sie "Abfrage ausführen" aus. |
| Kopieren einer Abfrage | Klicken Sie mit der rechten Maustaste auf einen Eintrag, und wählen Sie "Abfrage kopieren" aus. |
| Löschen eines Eintrags | Klicken Sie mit der rechten Maustaste auf einen Eintrag, und wählen Sie "Löschen" aus. |
| Alles löschen | Wählen Sie in der Ansichtssymbolleiste die Schaltfläche "Alle Abfrageverlauf löschen" aus. |
| In der Befehlspalette suchen | Führen Sie PGSQL: Open Query History in Command Palette aus. |
Erfassung des Steuerungsverlaufs
Verwenden Sie die Symbolleiste für die Abfrageverlaufsansicht , um die Erfassung zu starten oder anzuhalten:
- Abfrageverlaufserfassung starten: Fortsetzen der aufzeichnung ausgeführter Abfragen.
- Abfrageverlaufserfassung anhalten: Aufzeichnung beenden.
Konfigurieren Sie das Verlaufsverhalten mit diesen Einstellungen:
| Einstellung | Description | Vorgabe |
|---|---|---|
pgsql.enableQueryHistoryFeature |
Aktivieren Sie die Funktion „Abfrageverlauf“ | true |
pgsql.enableQueryHistoryCapture |
Automatische Erfassung ausgeführter Abfragen | true |
pgsql.queryHistoryLimit |
Maximale Anzahl gespeicherter Verlaufseinträge | 20 |