Edytor zapytań i funkcja IntelliSense

Rozszerzenie PostgreSQL dla Visual Studio Code udostępnia edytor zapytań z uzupełnianiami funkcji IntelliSense, wykonywaniem zapytań opartymi na klawiaturze, siatką wyników z opcjami eksportu i wbudowanymi fragmentami kodu. Język SQL można napisać na standardowej karcie edytora programu VS Code i uruchomić go na dowolnym połączonym serwerze PostgreSQL bez opuszczania środowiska IDE.

Wymagania wstępne

Otwieranie edytora zapytań

Nowy edytor zapytań można otworzyć na kilka sposobów:

  • W drzewie Połączenia kliknij prawym przyciskiem myszy węzeł bazy danych i wybierz pozycję Nowe zapytanie.
  • Uruchom polecenie PGSQL: New Query z palety poleceń (Ctrl+Shift+P).
  • Otwórz lub utwórz dowolny plik z .sql rozszerzeniem.

Edytor zapytań używa edytora tekstów programu VS Code z trybem języka SQL. Po połączeniu edytora z serwerem rozszerzenie aktywuje funkcję IntelliSense i włącza polecenia wykonywania zapytań.

Łączenie i rozłączanie

Aby skojarzyć edytor zapytań z połączeniem bazy danych:

Akcja Windows /Linux macOS
Connect Ctrl+Shift+C Cmd+Shift+C
Rozłącz Ctrl+Shift+D Cmd+Shift+D

Możesz również uruchomić PGSQL: Connect lub PGSQL: Disconnect z palety poleceń.

Zmienianie kontekstu bazy danych

Aktywna baza danych do wykonywania zapytań jest wyświetlana na pasku stanu programu VS Code. Aby przełączyć się do innej bazy danych:

  1. Wybierz nazwę bazy danych na pasku stanu lub uruchom polecenie PGSQL: Change PostgreSQL Database z palety poleceń.
  2. Wybierz docelową bazę danych z selektora.

Nowy kontekst bazy danych ma zastosowanie do wszystkich kolejnych wykonań zapytań w tym edytorze.

Widok stanu połączenia

Gdy pgsql.showConnectionStatusLens ma wartość true (domyślnie), edytor wyświetla u góry pliku element CodeLens pokazujący bieżący stan połączenia. Wybierz obiektyw, aby połączyć lub zmienić bazy danych.

IntelliSense

Funkcja IntelliSense zapewnia automatyczne uzupełnianie kontekstowe podczas wpisywania kodu SQL w edytorze zapytań. Rozszerzenie analizuje schemat połączonej bazy danych, aby sugerować tabele, kolumny, funkcje i słowa kluczowe.

Funkcja IntelliSense aktywuje się automatycznie podczas wpisywania lub można ją wyzwolić ręcznie za pomocą klawiszy Ctrl+Spacja (Cmd+Spacja w systemie macOS). Dostępne są następujące typy ukończenia:

Typ ukończenia Opis
Keyword Słowa kluczowe SQL, takie jak SELECT, , FROMWHERE
Tabela / widok Tabele i widoki w bieżącej bazie danych
Column Kolumny dla tabel, do których odwołuje się zapytanie
Function Wbudowane i zdefiniowane przez użytkownika funkcje
Schema Dostępne schematy w bazie danych
Sugestia dołączenia JOIN klauzule oparte na relacjach kluczy obcych

Po wpisaniu JOIN po odwołaniu do tabeli funkcja IntelliSense podpowiada powiązane tabele i uzupełnia warunek złączenia na podstawie relacji kluczy obcych.

Konfigurowanie funkcji IntelliSense

Włącz lub wyłącz funkcję IntelliSense za pomocą pgsql.intelliSense.enableIntelliSense ustawienia . Funkcja IntelliSense jest domyślnie włączona.

Odśwież pamięć podręczną IntelliSense

Jeśli zmienisz schemat bazy danych (na przykład przez dodanie tabel lub kolumn), a funkcja IntelliSense nie odzwierciedla tych zmian, odśwież pamięć podręczną:

  1. Otwórz paletę poleceń (Ctrl+Shift+P).
  2. Uruchom program PGSQL: Refresh IntelliSense Cache.

Użyj tego polecenia po migracjach schematów, zmianach DDL lub zmianach wprowadzonych poza bieżącą sesją edytora.

Uruchamianie zapytań

Rozszerzenie udostępnia wiele sposobów uruchamiania zapytań SQL względem połączonej bazy danych.

Wykonywanie zapytania

Użyj polecenia Execute PostgreSQL Query (Wykonywanie zapytania PostgreSQL), aby uruchomić program SQL w edytorze. W przypadku wybrania określonego tekstu zostanie uruchomiony tylko zaznaczony tekst. Jeśli nic nie zostanie zaznaczone, cała zawartość edytora zostanie uruchomiona.

Akcja Windows /Linux macOS
Wykonywanie zapytania PostgreSQL Ctrl+Shift+E lub Shift+Enter Cmd+Shift+E lub Shift+Enter
Wykonaj bieżącą instrukcję PostgreSQL Ctrl+Shift+Enter Ctrl+Shift+Enter

Wykonaj bieżące polecenie PostgreSQL wykonuje tylko instrukcję SQL w bieżącej pozycji kursora. Użyj tego polecenia, jeśli masz w edytorze wiele poleceń i chcesz uruchomić jedno z nich bez zaznaczania go.

Anulowanie zapytania

Aby zatrzymać długotrwałe zapytanie, uruchom polecenie PGSQL: Cancel PostgreSQL Query z palety poleceń. Pasek stanu pokazuje postęp wykonywania podczas uruchamiania zapytania.

Panel Wyników zapytań postgreSQL

Po uruchomieniu zapytania wyniki pojawią się w panelu Wyniki zapytań PostgreSQL poniżej edytora. Panel ma maksymalnie trzy karty w zależności od typu zapytania.

Karta Wyniki

Na karcie Wyniki zostanie wyświetlona siatka wyników. Gdy zapytanie zwraca wiele zestawów wyników, każdy zestaw jest wyświetlany we własnej siatce w karcie.

Siatka wyników udostępnia następujące funkcje do eksplorowania danych:

  • Sortuj: kliknij prawym przyciskiem myszy nagłówek kolumny i wybierz polecenie Sortuj rosnąco lubSortuj malejąco. Wybierz pozycję Wyczyść sortowanie , aby usunąć sortowanie.
  • Filtr: kliknij prawym przyciskiem myszy nagłówek kolumny i wybierz polecenie Pokaż filtr , aby zawęzić wyświetlane wiersze.
  • Zmienianie rozmiaru kolumn: Przeciągnij obramowanie kolumn, aby dostosować szerokość lub włączyć pgsql.resultsGrid.autoSizeColumns (domyślnie) w celu automatycznego rozmiaru kolumn na podstawie widocznej zawartości.
  • Numerowanie wierszy: numery wierszy są wyświetlane po lewej stronie siatki.
  • Wyszukiwanie: użyj pola wyszukiwania na pasku narzędzi wyników, aby znaleźć wartości w siatce.

Zapytania połączone i szersze zestawy wyników używają tego samego środowiska siatki, dzięki czemu można sortować, filtrować i skanować powiązane kolumny bez opuszczania edytora.

Kopiowanie danych

Kliknij prawym przyciskiem myszy siatkę wyników, aby uzyskać dostęp do opcji kopiowania:

Option Opis
Wybierz wszystko Zaznacz wszystkie wiersze w zestawie wyników
Kopiować Kopiowanie zaznaczonych komórek do schowka
Kopiowanie z nagłówkami Kopiuj zaznaczone komórki z nagłówkami kolumn
Kopiowanie nagłówków Kopiowanie tylko nagłówków kolumn

Możesz również użyć tych skrótów klawiaturowych w okienku wyników (konfigurowalnych za pomocą pgsql.shortcuts ustawienia):

Akcja Skrót domyślny
Kopiuj zaznaczenie Ctrl+C
Wybierz wszystko Ctrl+A
Przełącz okienko wyników Ctrl+Alt+R
Przełączanie okienka komunikatów Ctrl+Alt+Y
Siatka wyników koncentracji uwagi Ctrl+Alt+G
Poprzednia siatka wyników Ctrl+Up
Następna siatka wyników Ctrl+Strzałka w dół

Wskazówka

Ustaw pgsql.copyIncludeHeaders na true, aby dołączać nagłówki kolumn przy każdym kopiowaniu. Ustaw pgsql.copyRemoveNewLine na false, aby zachować znaki nowego wiersza w skopiowanych komórkach.

Zapisz wyniki

Eksportuj wyniki zapytania, wybierając przycisk zapisz na pasku narzędzi wyników:

Button Format
Zapisz jako plik CSV Wartości rozdzielone przecinkami (.csv)
Zapisz jako plik JSON Notacja obiektów JavaScript (.json)
Zapisz jako Excel skoroszyt Microsoft Excel (.xlsx)

Dostosuj zachowanie eksportu woluminów CSV przy użyciu następujących ustawień:

Setting Opis Default
pgsql.saveAsCsv.delimiter Znak ogranicznika kolumny ,
pgsql.saveAsCsv.lineSeparator Separator linii Ustawienie domyślne systemu
pgsql.saveAsCsv.textIdentifier Znak do otaczania pól tekstowych "
pgsql.saveAsCsv.encoding Kodowanie plików utf-8
pgsql.saveAsCsv.includeHeaders Dołączanie nagłówków kolumn true

Otwieranie wyników na osobnej karcie

W przypadku dużych zestawów wyników otwórz wyniki na dedykowanej karcie edytora, aby uzyskać więcej miejsca. Wybierz pozycję Otwórz na nowej karcie na pasku narzędzi wyników lub ustaw w ustawieniach opcję pgsql.openQueryResultsInTabByDefault na true, aby zawsze otwierać wyniki na osobnej karcie.

Karta Wiadomości

Karta Komunikaty zawiera informacje o wykonywaniu zapytania, w tym komunikaty o stanie, liczniki wierszy i czas wykonywania. Każdy komunikat zawiera znacznik czasu.

Okienko komunikatów jest domyślnie otwierane obok siatki wyników. Aby zmienić to zachowanie, ustaw pgsql.messagesDefaultOpen na false.

Wskazówka

Ustaw pgsql.showBatchTime na true, aby wyświetlić czas wykonywania dla poszczególnych partii.

Karta planu zapytania

Po uruchomieniu EXPLAIN zapytania lub EXPLAIN ANALYZE zostanie wyświetlona karta Plan zapytania obok wyników i komunikatów. Wybierz tę kartę, aby otworzyć wbudowany wizualizator planu wykonywania lub wybierz przycisk Wizualizuj plan zapytań na pasku narzędzi Panelu wyników zapytania PostgreSQL.

Możesz również uruchomić polecenie Visualize Query Plan (PostgreSQL) z palety poleceń, aby zwizualizować plan bieżącego zapytania.

Aby uzyskać szczegółowe informacje na temat wizualizatora planu wykonywania, zobacz Wizualizator planu zapytań.

Widok grafu dla zapytań Apache AGE

Gdy zapytanie zwraca wyniki w postaci grafu z Apache AGE, rozszerzenie wykrywa wywołania funkcji cypher() oraz wzorce Apache AGE (agtype, ag_catalog) i otwiera zestaw wyników w widoku grafu zamiast w standardowym widoku siatki.

  • Przełączanie widoków: wybierz pozycję Przełącz na graf na pasku narzędzi wyników, aby przełączyć się z siatki do widoku grafu, lub przełącz do tabeli , aby powrócić do siatki.
  • Sprawdź elementy: wybierz węzły lub krawędzie na grafie, aby wyświetlić ich etykiety i właściwości w panelu Właściwości .
  • Nawigacja: Użyj przycisków paska narzędzi wykresu: Powiększ, Pomniejsz, Dopasuj do widoku i Resetuj.
  • Eksportuj: wybierz pozycję Zapisz jako PNG na pasku narzędzi grafu, aby wyeksportować graf jako obraz.

Note

Jeśli zapytanie nie zwraca danych grafowych, rozszerzenie zachowuje standardowy widok siatki.

Fragmenty kodu

Rozszerzenie zawiera wbudowane fragmenty kodu PostgreSQL, które ułatwiają tworzenie szkieletu typowych wzorców SQL. Wpisz prefiks fragmentu kodu w edytorze i naciśnij klawisz Tab , aby rozwinąć fragment kodu. Naciskaj klawisz Tab, aby przechodzić między polami zastępczymi w rozwiniętym fragmencie kodu i uzupełniać wartości.

Dostępne fragmenty kodu

prefiks Opis
pgCreateTable Tworzenie podstawowej tabeli przy użyciu klucza podstawowego
pgDropDatabase Usuwanie istniejącej bazy danych PostgreSQL
pgDropTable Usuwanie tabeli
pgInsertData Wstaw wiersz do tabeli
pgSelectAll Proste SELECT * zapytanie
pgUpdateRows Aktualizowanie danych w tabeli
pgDeleteRows Usuwanie danych z tabeli
pgCreateIndex Tworzenie indeksu w określonej kolumnie
pgCreateUser Tworzenie nowej roli lub użytkownika
pgGrantPrivileges Udzielanie uprawnień w tabeli użytkownikowi
pgCTE Przykład wspólnego wyrażenia tabelowego (CTE)
pgLeftJoin LEFT JOIN przykład zapytania
pgExplainAnalyze EXPLAIN ANALYZE zapytanie dotyczące szczegółów wydajności
pgListTables Wyświetl wszystkie tabele w określonym schemacie

Wskazówka

Wpisz pg w edytorze i przejrzyj sugestie funkcji IntelliSense, aby wyświetlić wszystkie dostępne fragmenty kodu.

Historia zapytań

Widok Historia zapytań na panelu Paska aktywności postgreSQL automatycznie przechwytuje uruchomione zapytania, dzięki czemu możesz ponownie przejrzeć je i użyć ponownie później.

Zarządzanie historią zapytań

Akcja Jak to zrobić
Otwórz zapytanie Wybierz wpis w widoku Historia zapytań , aby załadować go do nowego edytora
Uruchamianie zapytania Kliknij prawym przyciskiem myszy wpis i wybierz polecenie Uruchom zapytanie
Kopiowanie zapytania Kliknij prawym przyciskiem myszy wpis i wybierz polecenie Kopiuj zapytanie
Usuwanie wpisu Kliknij prawym przyciskiem myszy wpis i wybierz polecenie Usuń
Wyczyść wszystko Wybierz przycisk Wyczyść całą historię zapytań na pasku narzędzi widoku
Przeglądaj w palecie poleceń Uruchom PGSQL: Open Query History in Command Palette

Przechwytywanie historii sterowania

Użyj paska narzędzi widoku Historia zapytań , aby rozpocząć lub wstrzymać przechwytywanie:

  • Rozpocznij przechwytywanie historii zapytań: wznawianie rejestrowania wykonanych zapytań.
  • Wstrzymaj przechwytywanie historii zapytań: zatrzymaj nagrywanie.

Skonfiguruj zachowanie historii przy użyciu następujących ustawień:

Setting Opis Default
pgsql.enableQueryHistoryFeature Włączanie funkcji Historia zapytań true
pgsql.enableQueryHistoryCapture Automatyczne przechwytywanie wykonanych zapytań true
pgsql.queryHistoryLimit Maksymalna liczba przechowywanych wpisów historii 20