Co to jest rozszerzenie PostgreSQL dla programu Visual Studio Code? (wersja zapoznawcza)

Rozszerzenie PostgreSQL dla Visual Studio Code upraszcza zarządzanie bazą danych PostgreSQL i programowanie. Możesz łączyć się z bazami danych PostgreSQL, zapisywać i wykonywać zapytania oraz zarządzać obiektami bazy danych bez opuszczania Visual Studio Code.

Rozszerzenie integruje się z Azure zarządzanymi usługami PostgreSQL, w tym:

  • Azure HorizonDB — natywna dla chmury usługa PostgreSQL utworzona dla obciążeń przedsiębiorstwa warstwy 1. HorizonDB oferuje architekturę z rozdzielonymi warstwami pamięci masowej i obliczeniową, zatwierdzanie transakcji z niskimi opóźnieniami, szybkie przełączanie awaryjne, skalowanie odczytu w poziomie z równoważeniem obciążenia na replikach HA obsługujących odczyt oraz zaawansowaną integrację z AI.

To samo rozszerzenie działa w odniesieniu do obu usług. Jeśli zachowanie różni się (na przykład punkty końcowe połączenia lub obsługiwane metody uwierzytelniania), jest ono wywoływane w kolejnych sekcjach.

Jak zainstalować rozszerzenie

Rozszerzenie PostgreSQL można zainstalować bezpośrednio z witryny Marketplace rozszerzeń w programie Visual Studio Code. Wykonaj te kroki:

  1. Otwórz widok Rozszerzenia w Visual Studio Code, wybierając ikonę Extensions na pasku działań lub używając polecenia View: Extensions.
  2. Wyszukaj PostgreSQL w Marketplace Rozszerzeń.
  3. Wybierz rozszerzenie PostgreSQL utworzone przez firmę Microsoft i wybierz pozycję Zainstaluj.

Po zainstalowaniu rozszerzenia zostanie wyświetlona ikona słonia reprezentująca stronę PostgreSQL na pasku bocznym programu Visual Studio Code.

Features

Rozszerzenie PostgreSQL dla Visual Studio Code udostępnia następujące funkcje dla Azure HorizonDB.

Menedżer połączeń

Menedżer połączeń upraszcza nawiązywanie połączeń z lokalnymi i hostowanymi w chmurze bazami danych PostgreSQL. Kluczowe funkcje obejmują:

  • Obsługa wielu profilów połączeń, dzięki czemu można łączyć się z wieloma wystąpieniami bazy danych PostgreSQL i zarządzać nimi obok siebie, w tym kombinacją klastrów Azure HorizonDB.
  • Analizowanie parametrów połączenia w celu zapewnienia bezproblemowej łączności, niezależnie od tego, czy łączysz się z lokalną bazą danych, klastrem Azure HorizonDB.
  • Integracja z usługą Azure HorizonDB w celu bezpośredniego przeglądania i filtrowania wystąpień według subskrypcji, grupy zasobów, serwera/klastra i bazy danych.

punkty końcowe połączenia usługi Azure HorizonDB

Azure HorizonDB uwidacznia dwa punkty końcowe, które można dodać jako oddzielne profile połączeń w rozszerzeniu:

  • Punkt końcowy odczytu/zapisu — łączy się z podstawowym, który akceptuje transakcje odczytu i zapisu. Ten punkt końcowy służy do zapisywania aplikacji, zmian schematu i dowolnego obciążenia odczytu, które wymaga najnowszych zatwierdzonych danych. Punkt końcowy znajduje się na stronie klastra Overview i na stronie Replicas w portalu Azure.
  • Punkt końcowy odczytu — automatycznie równoważy obciążenie połączeń tylko do odczytu między wszystkimi replikami HA dostępnymi do odczytu w klastrze. Użyj tego punktu końcowego w przypadku obciążeń związanych ze skalowaniem odczytu, raportowania i analiz. Obecnie obsługiwane są maksymalnie cztery repliki HA do odczytu (docelowo 8), z których każda ma taki sam rozmiar jak instancja podstawowa.

Typowym rozwiązaniem jest zapisanie w Menedżer połączeń dwóch profili — jednego wskazującego endpoint odczytu/zapisu i drugiego wskazującego endpoint czytnika — a następnie przełączanie się między nimi w Eksplorator obiektów w zależności od wykonywanego zadania.

Eksplorator obiektów

Rozszerzony Eksplorator obiektów udostępnia hierarchiczny widok obiektów bazy danych, ułatwiając przeglądanie schematów, tabel, widoków i funkcji oraz zarządzanie nimi. Istotne funkcje obejmują:

  • Zaawansowane opcje filtrowania, aby szybko zlokalizować określone obiekty.
  • Możliwości tworzenia, modyfikowania i usuwania obiektów bazy danych, takich jak tabele, widoki i procedury składowane.
  • Wizualizacja schematów i relacji bazy danych w celu usprawnienia nawigacji.
  • W przypadku Azure HorizonDB można sprawdzić 55+ dozwolonych rozszerzeń dostępnych w klastrze za pośrednictwem widoku katalogu pg_available_extensions bezpośrednio z Edytor Power Query.

Edytor Power Query

Edytor zapytań ulepsza środowisko tworzenia i wykonywania zapytań za pomocą następujących funkcji:

  • Funkcja IntelliSense z obsługą kontekstu umożliwia automatyczne uzupełnianie słów kluczowych SQL, nazw tabel i funkcji.
  • Wyróżnianie składni i autoformatowanie w celu zapewnienia lepszej czytelności zapytań.
  • Śledzenie historii zapytań, dzięki czemu można ponownie używać wcześniej wykonywanych zapytań.

Podgląd wyników

Przeglądarka wyników umożliwia interakcję z wynikami zapytania za pomocą funkcji, takich jak:

  • Eksportowanie wyników do formatów CSV, JSON lub Excel.
  • Opcje wyszukiwania, filtrowania i sortowania w celu wydajnego analizowania danych.
  • Trwałe widoki danych do utrzymania kontekstu podczas nawigowania między kartami.

Wizualizacja schematu

Wizualizator schematów udostępnia interaktywny, oparty na diagramie widok struktury bazy danych bez konieczności pisania jakiegokolwiek kodu SQL. Kliknij prawym przyciskiem myszy bazę danych (lub dowolny obiekt pod nim) w Eksplorator obiektów i wybierz Visualize Schema aby uruchomić wizualizator.

Kluczowe możliwości to:

  • Widok pełnej tabeli — każda tabela jest renderowana jako karta przedstawiająca kolumny i typy danych.
  • Linie relacji — relacje oparte na kluczach obcych między tabelami są przedstawiane jako linie łączące, dzięki czemu od razu widać, jak elementy modelu danych są ze sobą powiązane.
  • Organizacja oparta na schemacie — tabele są grupowane według ich schematu nadrzędnego (na przykład public, hr, ecom), co ułatwia nawigację w dużych bazach danych.
  • Pokaż / ukryj według schematów — włączaj lub wyłączaj całe schematy, aby skupić się tylko na interesujących Cię częściach modelu i zachować czytelność diagramów w dużych bazach danych.
  • Przesuwanie i powiększanie — nawigowanie po dużych diagramach ze standardowymi kontrolkami przesuwania, powiększania i dopasowywania do ekranu.

Wizualizacja schematu działa w przypadku dowolnej połączonej bazy danych, w tym lokalnych klastrów PostgreSQL i Azure HorizonDB.

Wizualizacja programu Apache AGE Graph

Narzędzie Apache AGE Graph Visualizer umożliwia uruchamianie zapytań Apache AGE Cypher i eksplorowanie wyników jako interaktywnego grafu węzłów i krawędzi. Rozszerzenie automatycznie wykrywa wyniki zapytania grafu i renderuje je w eksploratorze wizualnym, oferując objaśnienia dla poszczególnych węzłów, kontrolki powiększania i przesuwania, obsługę eksportowania oraz styl zgodny z motywami.

Rozszerzenie age znajduje się domyślnie na liście dozwolonych w usłudze Azure HorizonDB, dzięki czemu obciążenia związane z grafami mogą działać w klastrze HorizonDB bez dodatkowej konfiguracji. Te same wymagania obowiązują podczas tworzenia zapytań w języku Cypher w bazie danych HorizonDB:

  • Zwracanie pełnych obiektów, a nie właściwości skalarnych — wizualizator grafu wymaga kompletnych obiektów wierzchołków i krawędzi. Zapytania wyodrębnijące właściwości skalarne (RETURN p.name, p.title) zwracają wartości zwykłego tekstu i nie będą renderowane w wizualizatorze. Zamiast tego zwróć pełne obiekty i nadaj zmiennej relacji nazwę:

    SELECT * FROM cypher('my_graph', $$
        MATCH (a:Product)-[r:BOUGHT_TOGETHER]->(b:Product)
        RETURN a, r, b
    $$) AS (a agtype, r agtype, b agtype);
    
  • Ustaw disp_label, aby węzły miały znaczący tekst — bez tego węzły wyświetlają wewnętrzne identyfikatory. Ustaw tę właściwość, aby wizualizator wyświetlał przydatne etykiety:

    SELECT * FROM cypher('my_graph', $$
        MATCH (a:Product)-[r:BOUGHT_TOGETHER]->(b:Product)
        SET a.disp_label = a.title
        SET b.disp_label = b.title
        RETURN a, r, b
    $$) AS (a agtype, r agtype, b agtype);
    
  • Dopasuj kolumny wyjściowe do zwracanych obiektów — klauzula otoki AS (...) musi zawierać jedną kolumnę na zwrócony obiekt. W przypadku zapytań wieloskokowych uwzględnij każdy węzeł pośredni i każdą krawędź:

    SELECT * FROM cypher('my_graph', $$
        MATCH (a:Product)-[r1:BOUGHT_TOGETHER]->(mid:Product)-[r2:BOUGHT_TOGETHER]->(b:Product)
        RETURN a, r1, mid, r2, b
    $$) AS (a agtype, r1 agtype, mid agtype, r2 agtype, b agtype);
    

Integracja sztucznej inteligencji (Azure HorizonDB)

Po nawiązaniu połączenia z klastrem Azure HorizonDB rozszerzenie zapewnia pierwszoklasową powierzchnię tworzenia dla funkcji sztucznej inteligencji bazy danych HorizonDB, które są udostępniane jako standardowe rozszerzenia i funkcje PostgreSQL:

  • pgvector
    • Wektorowy typ danych i operatory podobieństwa.
  • pg_diskann
    • Wysokowydajny indeks wektorowy z zaawansowanym filtrowaniem, który oblicza predykaty WHERE podczas przeszukiwania grafu wektorowego, dzięki czemu filtrowane zapytania o podobieństwo zwracają wyniki szybciej i bardziej spójnie.
  • azure_ai
    • Funkcje sztucznej inteligencji, takie jak azure_ai.generate(), azure_ai.is_true(), azure_ai.extract()i azure_openai.create_embeddings().
  • Zarządzanie modelami sztucznej inteligencji (ograniczona wersja zapoznawcza)
    • Po włączeniu w klastrze usługa HorizonDB automatycznie aprowizuje domyślny model czatu (gpt-5) i domyślny model osadzania (text-embedding-3-small) za pośrednictwem Microsoft Foundry, instaluje i konfiguruje azure_ai, a także podłącza funkcje sztucznej inteligencji do tych modeli zarządzanych — nie jest wymagana ręczna obsługa kluczy. Możesz również zarejestrować własne wdrożenia usługi Microsoft Foundry (Bring Your Own Model) i wywoływać je za pomocą aliasu z tych samych funkcji sztucznej inteligencji.

Możesz tworzyć i uruchamiać te zadania AI bezpośrednio w Edytor Power Queryze, a Results Viewer wyświetla bezpośrednio dane wyjściowe wektorowe i JSONB.

Potoki i przepływy pracy

Po połączeniu z klastrem Azure HorizonDB z potokami AI lub pg_durable przepływami pracy rozszerzenie udostępnia widok Potoki i przepływy pracy do przeglądania historii wykonań i monitorowania stanu działania.

Uzyskaj dostęp do niej, klikając prawym przyciskiem myszy bazę danych i wybierając pozycję Potoki i przepływy pracy. Zostaną wyświetlone dwie karty:

  • Potoki sztucznej inteligencji: Wyświetlaj definicje potoków, analizuj uruchomienia i śledź grafy wykonywania z typami kroków oznaczonymi kolorami (niebieski dla źródła/ujścia, zielony dla przetwarzania, różowy dla wywołań zewnętrznych). Służy do weryfikowania zachowania potoku i sprawdzania stanu uruchomienia, identyfikatorów uruchomień, czasów rozpoczęcia i czasu trwania.
  • Przepływy pracy: sprawdź pg_durable instancje przepływu pracy na kartach z grafami, analizą czasową i wynikami. Przejdź z przebiegu przepływu pracy do powiązanej definicji potoku, aby uzyskać porównanie i rozwiązywanie problemów.

Ten widok eliminuje konieczność przełączania się między zapytaniami SQL a edytorem kodu, co ułatwia monitorowanie długotrwałych obciążeń AI i pg_durable orkiestracji.

Integracja z usługą GitHub Copilot

To rozszerzenie integruje się z usługą GitHub Copilot, aby oferować pomoc opartą na sztucznej inteligencji dostosowaną do programowania w usłudze PostgreSQL. Za pomocą poleceń, takich jak @pgsql, można wykonywać zapytania dotyczące bazy danych, zoptymalizować schemat i zażądać Copilot, aby wykonać określone operacje SQL względem klastra Azure HorizonDB. Copilot uwzględnia kontekst bieżącego połączenia — w tym rozszerzenia zainstalowane w obiekcie docelowym — dzięki czemu sugestie dotyczące połączenia HorizonDB uwzględniają pgvector, pg_diskann, azure_ai i age.

Obsługiwane systemy operacyjne

Rozszerzenie PostgreSQL współpracuje z następującymi systemami operacyjnymi:

  • Windows
  • macOS
  • Linux

Rozszerzenie obsługuje różne dystrybucje systemu Linux, w tym Ubuntu, Fedora i Red Hat Enterprise Linux.

Opinie i wsparcie

W przypadku usterek, żądań funkcji i problemów użyj wbudowanego narzędzia do przesyłania opinii w programie Visual Studio Code. Tę opinię można wykonać za pomocą menu Pomoc programu Visual Studio Code lub palety poleceń PGSQL.

  • Menu Pomoc
    • Przejdź do Pomoc > Zgłoś problem
  • Paleta poleceń
    • Otwórz paletę poleceń za pomocą Ctrl + Shift + P i uruchom: PGSQL: Report Issue