Editor dotazů a IntelliSense

Rozšíření PostgreSQL pro Visual Studio Code poskytuje editor dotazů s dokončováním IntelliSense, spouštěním dotazů řízeným klávesami, mřížkou výsledků s možnostmi exportu a integrovanými fragmenty kódu. SQL píšete ve standardní kartě editoru VS Code a spouštíte ho proti libovolnému připojenému serveru PostgreSQL, aniž byste opustili IDE.

Prerequisites

Otevření editoru dotazů

Nový editor dotazů můžete otevřít několika způsoby:

  • Ve stromu Připojení klikněte pravým tlačítkem na uzel databáze a vyberte Nový dotaz.
  • Spusťte PGSQL: New Query příkaz z palety příkazů (Ctrl+Shift+P).
  • Otevřete nebo vytvořte libovolný soubor s příponou .sql .

Editor dotazů používá textový editor VS Code s režimem jazyka SQL. Když připojíte editor k serveru, rozšíření aktivuje IntelliSense a povolí příkazy spouštění dotazů.

Připojení a odpojení

Přidružení editoru dotazů k připojení k databázi:

Činnost Windows /Linux macOS
Connect Ctrl+Shift+C Cmd+Shift+C
Odpojit Ctrl+Shift+D Cmd+Shift+D

Můžete také spustit PGSQL: Connect nebo PGSQL: Disconnect z palety příkazů.

Změna kontextu databáze

Aktivní databáze pro spuštění dotazu se zobrazí na stavovém řádku VS Code. Přepnutí na jinou databázi:

  1. Vyberte název databáze na stavovém řádku nebo spusťte PGSQL: Change PostgreSQL Database z palety příkazů.
  2. V nástroji pro výběr vyberte cílovou databázi.

Nový kontext databáze se vztahuje na všechny následné spuštění dotazů v tomto editoru.

Objektiv stavu připojení

Když je pgsql.showConnectionStatusLens nastaveno na true (výchozí nastavení), editor v horní části souboru zobrazí CodeLens s aktuálním stavem připojení. Vyberte objektiv pro připojení nebo změnu databází.

IntelliSense

IntelliSense poskytuje automatické dokončování s podporou kontextu při psaní SQL v editoru dotazů. Rozšíření analyzuje schéma připojené databáze a navrhne tabulky, sloupce, funkce a klíčová slova.

IntelliSense se při psaní aktivuje automaticky nebo ji můžete aktivovat ručně pomocí Kombinace kláves Ctrl+Mezerník (Cmd+Mezerník v systému macOS). K dispozici jsou následující typy dokončování:

Typ dokončení Popis
Keyword Klíčová slova SQL, například SELECT, FROMWHERE
Tabulka / zobrazení Tabulky a zobrazení v aktuální databázi
Column Sloupce pro tabulky odkazované v dotazu
Function Předdefinované a uživatelem definované funkce
Schema Dostupná schémata v databázi
Návrh připojit se JOIN klauzule založené na relacích cizích klíčů

Když zadáte JOIN za odkaz na tabulku, IntelliSense navrhne související tabulky a vyplní podmínku spojení na základě relací cizích klíčů.

Konfigurovat IntelliSense

Povolte nebo zakažte IntelliSense s pgsql.intelliSense.enableIntelliSense nastavením. Funkce IntelliSense je ve výchozím nastavení povolená.

Aktualizace mezipaměti IntelliSense

Pokud změníte schéma databáze (například přidáním tabulek nebo sloupců) a IntelliSense tyto změny neodráží, aktualizujte mezipaměť:

  1. Otevřete paletu příkazů (Ctrl+Shift+P).
  2. Spusťte PGSQL: Refresh IntelliSense Cache.

Tento příkaz použijte po migraci schématu, změnách DDL nebo změnách provedených mimo aktuální relaci editoru.

Spouštění dotazů

Rozšíření nabízí několik způsobů, jak spouštět dotazy SQL na připojenou databázi.

Provedení dotazu

Pomocí příkazu Execute PostgreSQL Query spusťte SQL v editoru. Pokud vyberete konkrétní text, spustí se jenom vybraný text. Pokud není vybráno nic, celý obsah editoru se spustí.

Činnost Windows /Linux macOS
Spuštění dotazu PostgreSQL Ctrl+Shift+E nebo Shift+Enter Cmd+Shift+E nebo Shift+Enter
Provedení aktuálního příkazu PostgreSQL Ctrl+Shift+Enter Ctrl+Shift+Enter

Spuštění aktuálního příkazu PostgreSQL spustí pouze příkaz SQL na aktuální pozici kurzoru. Tento příkaz použijte, pokud máte v editoru více příkazů a chcete ho spustit, aniž byste ho vybrali.

Zrušení dotazu

Chcete-li zastavit dlouho běžící dotaz, spusťte PGSQL: Cancel PostgreSQL Query na paletě příkazů. Na stavovém řádku se zobrazuje průběh provádění, když je dotaz spuštěný.

Panel Výsledky dotazu PostgreSQL

Po spuštění dotazu se výsledky zobrazí na panelu Výsledků dotazu PostgreSQL pod editorem. Panel má až tři karty v závislosti na typu dotazu.

Karta Výsledky

Na kartě Výsledky se zobrazí mřížka výsledků. Když dotaz vrátí více sad výsledků, každá sada se zobrazí ve vlastní mřížce na kartě.

Mřížka výsledků poskytuje tyto funkce pro zkoumání dat:

  • Řazení: Klikněte pravým tlačítkem myši na záhlaví sloupce a vyberte Seřadit vzestupně nebo Seřadit sestupně. Pokud chcete řazení odebrat, vyberte Vymazat řazení .
  • Filtr: Klikněte pravým tlačítkem myši na záhlaví sloupce a vyberte Zobrazit filtr , abyste zúžili zobrazené řádky.
  • Změna velikosti sloupců: Přetažením okrajů sloupců můžete upravit jejich šířku nebo povolit pgsql.resultsGrid.autoSizeColumns (ve výchozím nastavení zapnuto), aby se šířka sloupců automaticky přizpůsobila viditelnému obsahu.
  • Číslování řádků: Čísla řádků se zobrazují na levé straně mřížky.
  • Hledání: K vyhledání hodnot v mřížce použijte vyhledávací pole na panelu nástrojů výsledků.

Připojené dotazy a širší sady výsledků používají stejné prostředí mřížky, takže můžete řadit, filtrovat a kontrolovat související sloupce bez opuštění editoru.

Kopírování dat

Po kliknutí pravým tlačítkem myši v mřížce výsledků se dostanete k možnostem kopírování:

Option Popis
Vybrat vše Výběr všech řádků v sadě výsledků
Copy Zkopírujte vybrané buňky do schránky
Kopírování se záhlavími Kopírovat vybrané buňky včetně záhlaví sloupců
Kopírování hlaviček Kopírování pouze záhlaví sloupců

Můžete také použít tyto klávesové zkratky pro podokno výsledků (lze je nakonfigurovat pomocí nastavení pgsql.shortcuts):

Činnost Výchozí zkratka
Kopírovat výběr Ctrl+C
Vybrat vše Ctrl+A
Zobrazit nebo skrýt podokno výsledků Ctrl+Alt+R
Přepnout podokno zpráv Ctrl+Alt+Y
Mřížka výsledků fokusu Ctrl+Alt+G
Předchozí mřížka výsledků Ctrl+Šipka nahoru
Další mřížka výsledků Ctrl+Šipka dolů

Tip

Nastavte pgsql.copyIncludeHeaders na true, aby se při každém kopírování zahrnovala záhlaví sloupců. Nastavte pgsql.copyRemoveNewLine na false, aby se zachovaly znaky nového řádku ve zkopírovaných buňkách.

Uložit výsledky

Výsledky dotazu můžete exportovat tak, že na panelu nástrojů výsledků vyberete tlačítko Uložit:

Button Format
Uložit jako CSV Hodnoty oddělené čárkami (CSV)
Uložit jako JSON Zápis objektů JavaScriptu (.json)
Uložit jako Excel Microsoft Excel sešit (.xlsx)

Přizpůsobte chování exportu CSV pomocí těchto nastavení:

Nastavení Popis Výchozí
pgsql.saveAsCsv.delimiter Znak oddělovače sloupců ,
pgsql.saveAsCsv.lineSeparator Oddělovač řádků Výchozí systém
pgsql.saveAsCsv.textIdentifier Znak pro uzavření textových polí "
pgsql.saveAsCsv.encoding Kódování souborů utf-8
pgsql.saveAsCsv.includeHeaders Zahrnout záhlaví sloupců true

Otevřít výsledky na samostatné kartě

U rozsáhlých sad výsledků otevřete výsledky v samostatné kartě editoru, abyste měli více prostoru. Na panelu nástrojů výsledků vyberte možnost Otevřít na nové kartě nebo v nastavení nastavte pgsql.openQueryResultsInTabByDefault na true, aby se výsledky vždy otevíraly na nové kartě.

Karta Zprávy

Na kartě Zprávy se zobrazují informace o spuštění dotazu, včetně stavových zpráv, počtu řádků a doby provádění. Každá zpráva obsahuje časové razítko.

Podokno zpráv se ve výchozím nastavení otevře společně s mřížkou výsledků. Chcete-li toto chování změnit, nastavte pgsql.messagesDefaultOpen na falsehodnotu .

Tip

Nastavte pgsql.showBatchTime na true, aby se zobrazovala doba provádění pro jednotlivé dávky.

Karta plánu dotazu

Při spuštění EXPLAIN nebo EXPLAIN ANALYZE dotazu se vedle výsledků a zpráv zobrazí karta Plán dotazu. Výběrem této karty otevřete vizualizér předdefinovaných plánů provádění nebo vyberte tlačítko Vizualizovat plán dotazu na panelu výsledků dotazu PostgreSQL.

Můžete také spustit příkaz Visualize Query Plan (PostgreSQL) z Palety příkazů a zobrazit tak plán pro aktuální dotaz.

Podrobné informace o vizualizéru plánu provádění najdete v tématu Vizualizér plánu dotazu.

Zobrazení grafu pro dotazy Apache AGE

Když dotaz vrátí výsledky orientované na grafy z Apache AGE, rozšíření detekuje cypher() volání funkcí a vzory Apache AGE (agtype, ag_catalog) a otevře dávku výsledků v zobrazení grafu místo standardní mřížky.

  • Přepínání zobrazení: Výběrem možnosti Přepnout na graf na panelu nástrojů výsledků přejdete z tabulky do zobrazení grafu nebo možnosti Přepnout na tabulku, chcete-li se vrátit do tabulky.
  • Kontrola prvků: Výběrem uzlů nebo hran v grafu zobrazíte jejich popisky a vlastnosti na panelu Vlastnosti .
  • Navigace: Použijte tlačítka panelu nástrojů grafu: Přiblížit, Oddálit, Přizpůsobit zobrazení a Obnovit výchozí zobrazení.
  • Export: Výběrem možnosti Uložit jako PNG na panelu nástrojů grafu graf vyexportujete graf jako obrázek.

Note

Pokud dotaz nevrací grafovatelná data, rozšíření zachová standardní zobrazení mřížky.

Fragmenty kódu

Rozšíření obsahuje integrované fragmenty kódu PostgreSQL, které vám pomůžou vygenerovat běžné vzory SQL. Do editoru zadejte předponu fragmentu kódu a stisknutím klávesy Tab tento fragment rozbalte. Pomocí klávesy Tab procházejte zástupná pole v rozbaleném fragmentu kódu a doplňte hodnoty.

Dostupné fragmenty kódu

Předpona Popis
pgCreateTable Vytvoření základní tabulky s primárním klíčem
pgDropDatabase Vyřazení existující databáze PostgreSQL
pgDropTable Odebrat tabulku
pgInsertData Vložení řádku do tabulky
pgSelectAll Jednoduchý SELECT * dotaz
pgUpdateRows Aktualizace dat v tabulce
pgDeleteRows Odstranění dat z tabulky
pgCreateIndex Vytvoření indexu pro zadaný sloupec
pgCreateUser Vytvoření nové role nebo uživatele
pgGrantPrivileges Udělení oprávnění k tabulce uživateli
pgCTE Příklad CTE (Common Table Expression)
pgLeftJoin LEFT JOIN Příklad dotazu
pgExplainAnalyze EXPLAIN ANALYZE dotaz na podrobnosti o výkonu
pgListTables Výpis všech tabulek v určitém schématu

Tip

Zadejte pg do editoru a projděte návrhy IntelliSense a zobrazte všechny dostupné fragmenty kódu.

Historie dotazů

Zobrazení Historie dotazů na panelu aktivit PostgreSQL automaticky zachycuje spuštěné dotazy, abyste se k nim mohli později vrátit a znovu je použít.

Správa historie dotazů

Činnost Návod
Otevřít dotaz Vyberte položku v zobrazení Historie dotazů a načtěte ji do nového editoru.
Spusť dotaz Klikněte pravým tlačítkem myši na položku a vyberte Spustit dotaz.
Kopírování dotazu Klikněte pravým tlačítkem myši na položku a vyberte Kopírovat dotaz.
Odstranění položky Klikněte pravým tlačítkem myši na položku a vyberte Odstranit.
Vymazat vše Výběr tlačítka Vymazat celou historii dotazů na panelu nástrojů zobrazení
Procházet v paletě příkazů Spusťte příkaz PGSQL: Open Query History in Command Palette.

Zachycení historie ovládacích prvků

Spuštění nebo pozastavení zachycení pomocí panelu nástrojů Historie dotazů :

  • Spustit zachytávání historie dotazů: Obnovení záznamu spuštěných dotazů
  • Pozastavit zachytávání historie dotazů: Zastavit záznam

Konfigurujte chování historie pomocí těchto nastavení:

Nastavení Popis Výchozí
pgsql.enableQueryHistoryFeature Povolení funkce Historie dotazů true
pgsql.enableQueryHistoryCapture Automatické zachytávání spuštěných dotazů true
pgsql.queryHistoryLimit Maximální počet uložených položek historie 20