Querybewerker en IntelliSense

De PostgreSQL-extensie voor Visual Studio Code biedt een queryeditor met IntelliSense-voltooiingen, uitvoering van toetsenbordgestuurde query's, een resultatenraster met exportopties en ingebouwde codefragmenten. U schrijft SQL in een standaard-VS Code-editortabblad en voert deze uit op elke verbonden PostgreSQL-server zonder de IDE te verlaten.

Prerequisites

Een queryeditor openen

U kunt een nieuwe queryeditor op verschillende manieren openen:

  • Klik in de structuur Verbindingen met de rechtermuisknop op een databaseknooppunt en selecteer Nieuwe query.
  • Uitvoeren PGSQL: New Query vanuit het opdrachtenpalet (Ctrl+Shift+P).
  • Open of maak een bestand met een .sql extensie.

De query-editor maakt gebruik van de VS Code-teksteditor met de SQL-taalmodus. Wanneer u de editor verbindt met een server, activeert de extensie IntelliSense en schakelt u opdrachten voor het uitvoeren van query's in.

Verbinding maken en verbreken

Een queryeditor koppelen aan een databaseverbinding:

Handeling Windows/Linux macOS
Verbinding maken Ctrl+Shift+C Cmd+Shift+C
Verbreken Ctrl+Shift+D Cmd+Shift+D

U kunt ook uitvoeren PGSQL: Connect of PGSQL: Disconnect vanuit het opdrachtpalet.

De databasecontext wijzigen

De actieve database voor het uitvoeren van query's wordt weergegeven op de statusbalk van VS Code. Ga als volgende te werk om over te schakelen naar een andere database:

  1. Selecteer de databasenaam op de statusbalk of voer deze uit PGSQL: Change PostgreSQL Database vanuit het opdrachtpalet.
  2. Selecteer de doeldatabase in de kiezer.

De nieuwe databasecontext is van toepassing op alle volgende queryuitvoeringen in die editor.

Verbindingsstatuslens

Wanneer pgsql.showConnectionStatusLens is true (de standaardinstelling), geeft de editor boven aan het bestand een codelens weer die de huidige verbindingsstatus weergeeft. Selecteer de lens om databases te verbinden of te wijzigen.

IntelliSense

IntelliSense biedt contextbewuste automatische voltooiingen tijdens het typen van SQL in de query-editor. De extensie analyseert uw verbonden databaseschema om tabellen, kolommen, functies en trefwoorden voor te stellen.

IntelliSense wordt automatisch geactiveerd terwijl u typt of u kunt deze handmatig activeren met Ctrl+Spatie (Cmd+Spatie op macOS). De volgende voltooiingstypen zijn beschikbaar:

Voltooiingstype Description
Keyword SQL-trefwoorden zoals SELECT, FROMWHERE
Tabel/weergave Tabellen en weergaven in de huidige database
Column Kolommen voor tabellen waarnaar wordt verwezen in de query
Functie Ingebouwde en door de gebruiker gedefinieerde functies
Schema Beschikbare schema's in de database
Suggestie voor samenvoegen JOIN clausules op basis van relaties tussen vreemde sleutels

Wanneer u typt JOIN na een tabelverwijzing, worden in IntelliSense gerelateerde tabellen voorgesteld en wordt de joinvoorwaarde ingevuld op basis van relaties met refererende sleutels.

IntelliSense configureren

Schakel IntelliSense in of uit met de pgsql.intelliSense.enableIntelliSense instelling. IntelliSense is standaard ingeschakeld.

De IntelliSense-cache vernieuwen

Als u het databaseschema wijzigt (bijvoorbeeld door tabellen of kolommen toe te voegen) en IntelliSense deze wijzigingen niet weergeeft, vernieuwt u de cache:

  1. Open het opdrachtenpalet (Ctrl+Shift+P).
  2. Voer PGSQL: Refresh IntelliSense Cacheuit.

Gebruik deze opdracht na schemamigraties, DDL-wijzigingen of wijzigingen die buiten de huidige editorsessie zijn aangebracht.

Queries uitvoeren

De extensie biedt meerdere manieren om SQL-query's uit te voeren op uw verbonden database.

Een query uitvoeren

Gebruik Execute PostgreSQL Query om SQL uit te voeren in de editor. Als u specifieke tekst selecteert, wordt alleen de geselecteerde tekst uitgevoerd. Als er niets is geselecteerd, wordt de volledige inhoud van de editor uitgevoerd.

Handeling Windows/Linux macOS
PostgreSQL-query uitvoeren Ctrl+Shift+E of Shift+Enter Cmd+Shift+E of Shift+Enter
Huidige PostgreSQL-instructie uitvoeren Ctrl+Shift+Enter Ctrl+Shift+Enter

Voer de huidige PostgreSQL-instructie uit om alleen de SQL-instructie op de huidige cursorpositie uit te voeren. Gebruik deze opdracht wanneer u meerdere instructies in de editor hebt en er een wilt uitvoeren zonder deze te selecteren.

Een query annuleren

Als u een langlopende query wilt stoppen, voert u deze uit PGSQL: Cancel PostgreSQL Query vanuit het opdrachtpalet. Op de statusbalk wordt de voortgang van de uitvoering weergegeven terwijl een query wordt uitgevoerd.

PostgreSQL-queryresultatenpaneel

Nadat u een query hebt uitgevoerd, worden de resultaten weergegeven in het deelvenster Resultaten van PostgreSQL-query onder de editor. Het deelvenster heeft maximaal drie tabbladen, afhankelijk van het querytype.

Tabblad Resultaten

Op het tabblad Resultaten wordt het resultatenraster weergegeven. Wanneer een query meerdere resultatensets retourneert, wordt elke set weergegeven in een eigen raster op het tabblad.

Het resultatenraster biedt deze functies voor het verkennen van gegevens:

  • Sorteren: Klik met de rechtermuisknop op een kolomkop en selecteer Oplopend of Aflopend sorteren. Selecteer Sorteren wissen om de sortering te verwijderen.
  • Filter: Klik met de rechtermuisknop op een kolomkop en selecteer Filter weergeven om weergegeven rijen te beperken.
  • Kolommen vergroten of verkleinen: sleep kolomranden om de breedte aan te passen, of schakel pgsql.resultsGrid.autoSizeColumns in (standaard ingeschakeld) om kolommen automatisch aan te passen aan de zichtbare inhoud.
  • Rijnummering: rijnummers worden aan de linkerkant van het raster weergegeven.
  • Zoeken: Gebruik het zoekveld op de werkbalk met resultaten om waarden in het raster te zoeken.

Gekoppelde query's en bredere resultatensets gebruiken dezelfde rasterervaring, zodat u gerelateerde kolommen kunt sorteren, filteren en scannen zonder de editor te verlaten.

Gegevens kopiëren

Klik met de rechtermuisknop in het resultatenraster voor toegang tot kopieeropties:

Option Description
Alles selecteren Alle rijen in de resultatenset selecteren
Copy Geselecteerde cellen naar het Klembord kopiëren
Kopiëren met kopteksten Geselecteerde cellen kopiëren met kolomkoppen
Kopteksten kopiëren Alleen de kolomkoppen kopiëren

U kunt deze sneltoetsen in het resultatenvenster ook gebruiken (configureerbaar via de pgsql.shortcuts instelling):

Handeling Standaardsnelkoppeling
Selectie kopiëren Ctrl+C
Alles selecteren Ctrl+A
Resultatenvenster weergeven/verbergen Ctrl+Alt+R
Deelvenster Berichten in-/uitschakelen Ctrl+Alt+Y
Raster met focusresultaten Ctrl+Alt+G
Vorig resultaatraster Ctrl+Omhoog
Volgend resultaatraster Ctrl+omlaag

Tip

Stel pgsql.copyIncludeHeaders in op true om kolomkoppen op te nemen telkens wanneer u kopieert. Stel pgsql.copyRemoveNewLine in op false om regeleinden in gekopieerde cellen te behouden.

Resultaten opslaan

Queryresultaten exporteren door een knop Opslaan te selecteren op de werkbalk met resultaten:

Knop Format
Opslaan als CSV Door komma's gescheiden waarden (.csv)
Opslaan als JSON JavaScript Object Notation (.json)
Opslaan als Excel Microsoft Excel werkmap (.xlsx)

Pas het gedrag van CSV-export aan met deze instellingen:

Configuratie Description Standaard
pgsql.saveAsCsv.delimiter Scheidingsteken voor kolommen ,
pgsql.saveAsCsv.lineSeparator Lijnscheidingsteken Systeemstandaardwaarde
pgsql.saveAsCsv.textIdentifier Teken voor het omsluiten van tekstvelden "
pgsql.saveAsCsv.encoding Bestandscodering utf-8
pgsql.saveAsCsv.includeHeaders Kolomkoppen opnemen true

Resultaten openen op een afzonderlijk tabblad

Voor grote resultatensets opent u de resultaten op een speciaal editortabblad voor meer ruimte. Selecteer Openen op nieuw tabblad in de resultatenwerkbalk of stel deze optie pgsql.openQueryResultsInTabByDefaulttrue in op uw instellingen om resultaten altijd op een afzonderlijk tabblad te openen.

Tabblad Berichten

Op het tabblad Berichten ziet u informatie over de uitvoering van query's, waaronder statusberichten, aantal rijen en uitvoeringstijd. Elk bericht bevat een tijdstempel.

Het berichtenvenster wordt standaard naast het resultatenraster geopend. Als u dit gedrag wilt wijzigen, stelt u pgsql.messagesDefaultOpen in op false.

Tip

Stel pgsql.showBatchTime in op true om de uitvoeringstijd voor afzonderlijke batches weer te geven.

Tabblad Queryplan

Wanneer u een EXPLAIN- of EXPLAIN ANALYZE-query uitvoert, verschijnt er naast Resultaten en Berichten een tabblad Queryplan. Selecteer dit tabblad om de ingebouwde visualisatiefunctie voor het uitvoeringsplan te openen of selecteer de knop Queryplan visualiseren in de werkbalk van het deelvenster Queryresultaten van PostgreSQL.

U kunt Visualize Query Plan (PostgreSQL) ook uitvoeren vanuit het opdrachtpalet om het plan voor de huidige query te visualiseren.

Zie Query plan visualizer voor gedetailleerde informatie over het visualiseren van het uitvoeringsplan.

Grafiekweergave voor Apache AGE-query's

Wanneer een query graafgeoriënteerde resultaten van Apache AGE retourneert, detecteert cypher() de extensie functieaanroepen en Apache AGE-patronen (agtype, ag_catalog) en opent de resultatenbatch in een grafiekweergave in plaats van het standaardraster.

  • Schakelen tussen weergaven: selecteer Overschakelen naar Grafiek in de resultatenwerkbalk om over te schakelen van het raster naar de grafiekweergave of overschakelen naar tabel om terug te keren naar het raster.
  • Elementen inspecteren: Selecteer knooppunten of randen in de grafiek om de labels en eigenschappen ervan weer te geven in het deelvenster Eigenschappen .
  • Navigeren: Gebruik de knoppen op de grafiekwerkbalk: Inzoomen, Uitzoomen, Zoomen tot passend en Resetten.
  • Exporteren: Selecteer Opslaan als PNG in de grafiekwerkbalk om de grafiek als afbeelding te exporteren.

Note

Als de query geen grafiekbare gegevens retourneert, behoudt de extensie de standaardrasterweergave.

Codefragmenten

De extensie bevat ingebouwde PostgreSQL-codefragmenten waarmee u algemene SQL-patronen kunt maken. Typ een fragmentvoorvoegsel in de editor en druk op Tab om het fragment uit te vouwen. Navigeer met Tab door de plaatsaanduidingen in het uitgeklapte codefragment om de waarden in te vullen.

Beschikbare fragmenten

voorvoegsel Description
pgCreateTable Een basistabel maken met een primaire sleutel
pgDropDatabase Een bestaande PostgreSQL-database verwijderen
pgDropTable Een tabel verwijderen
pgInsertData Een rij invoegen in een tabel
pgSelectAll Eenvoudige SELECT * zoekopdracht
pgUpdateRows Gegevens in een tabel bijwerken
pgDeleteRows Gegevens uit een tabel verwijderen
pgCreateIndex Een index maken op een opgegeven kolom
pgCreateUser Een nieuwe rol of gebruiker maken
pgGrantPrivileges Bevoegdheden aan een tabel verlenen aan een gebruiker
pgCTE Voorbeeld van Common Table Expression (CTE)
pgLeftJoin LEFT JOIN queryvoorbeeld
pgExplainAnalyze EXPLAIN ANALYZE zoekopdracht naar prestatiedetails
pgListTables Alle tabellen in een specifiek schema weergeven

Tip

Typ pg in de editor en bekijk de IntelliSense-suggesties om alle beschikbare codefragmenten te zien.

Querygeschiedenis

De weergave Querygeschiedenis in het deelvenster PostgreSQL-activiteitenbalk legt automatisch de query's vast die u uitvoert, zodat u deze later opnieuw kunt bekijken en opnieuw kunt gebruiken.

Querygeschiedenis beheren

Handeling Hoe te doen
Een query openen Selecteer een vermelding in de weergave Querygeschiedenis om deze in een nieuwe editor te laden
Een query uitvoeren Klik met de rechtermuisknop op een item en selecteer Query uitvoeren
Een query kopiëren Klik met de rechtermuisknop op een item en selecteer Query kopiëren
Een vermelding verwijderen Klik met de rechtermuisknop op een item en selecteer Verwijderen
Alles verwijderen Selecteer de knop Alle querygeschiedenis wissen op de werkbalk Beeld
Bladeren in Opdrachtpalet Voer PGSQL: Open Query History in Command Palette uit

Vastleggen van controlegeschiedenis

Gebruik de werkbalk van de weergave Querygeschiedenis om het vastleggen te starten of te onderbreken:

  • Querygeschiedenis vastleggen starten: opname van uitgevoerde query's hervatten.
  • Opname van querygeschiedenis onderbreken: opname stoppen.

Geschiedenisgedrag configureren met deze instellingen:

Configuratie Description Standaard
pgsql.enableQueryHistoryFeature De functie Querygeschiedenis inschakelen true
pgsql.enableQueryHistoryCapture Automatisch uitgevoerde query's vastleggen true
pgsql.queryHistoryLimit Maximum aantal opgeslagen geschiedenisvermeldingen 20