Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Rozszerzenie PostgreSQL dla Visual Studio Code obejmuje integrację GitHub Copilot, zwiększając przepływy pracy bazy danych przy użyciu programowania wspomaganego przez sztuczną inteligencję. Po nawiązaniu połączenia z bazą danych PostgreSQL Copilot uzyskuje dostęp do informacji kontekstowych z połączenia na żywo. Ten dostęp umożliwia uczestnikowi czatu @pgsql Copilot generowanie dokładnych zapytań SQL uwzględniających schemat oraz trafnych wniosków, usprawniając prace programistyczne i minimalizując potrzebę przełączania kontekstu w Visual Studio Code.
Uczestnik @pgsql współpracuje z dowolną bazą danych, z jaką rozszerzenie może nawiązać połączenie, w tym:
- Azure HorizonDB klastry.
Po połączeniu z klastrem HorizonDB Copilot uwzględnia rozszerzenia HorizonDB zainstalowane w bazie danych (takie jak pgvector, pg_diskann, azure_ai i age) i może generować podpowiedzi oraz kod SQL, które je wykorzystują.
Wymagania wstępne
Przed rozpoczęciem sprawdź, czy masz odpowiednie narzędzia i zasoby pobrane i zainstalowane.
- Program Visual Studio Code zainstalowany na maszynie.
- Baza danych PostgreSQL zainstalowana lokalnie lub hostowana w Tworzenie klastra Azure HorizonDB.
- Rozszerzenie PostgreSQL zainstalowane w programie Visual Studio Code.
- GitHub Copilot rozszerzenie.
- Zainstalowane rozszerzenie GitHub Copilot Chat.
- Konto platformy Azure do nawiązywania połączenia z bazami danych hostowanymi w chmurze (opcjonalnie).
Instalowanie rozszerzeń GitHub Copilot i GitHub Copilot Chat
Jeśli rozszerzenie GitHub Copilot nie jest jeszcze zainstalowane w programie Visual Studio Code:
- Wybierz ikonę Rozszerzenia w programie Visual Studio Code, wyszukaj pozycję GitHub Copilot, a następnie wybierz pozycję Zainstaluj.
- Rozszerzenie GitHub Copilot Chat jest instalowane automatycznie wraz z narzędziem GitHub Copilot.
Logowanie się do usługi GitHub w programie Visual Studio Code
- Upewnij się, że masz konto GitHub i aktywną subskrypcję GitHub Copilot:
- W Visual Studio Code wybierz ikonę Account a następnie wybierz ikonę Sign in with GitHub to use GitHub Copilot.
Wprowadzenie do narzędzia GitHub Copilot
Aby rozpocząć korzystanie z GitHub Copilot z rozszerzeniem PostgreSQL dla Visual Studio Code, wykonaj poniższe kroki.
- Kliknij prawym przyciskiem myszy bazę danych PostgreSQL w Eksplorator obiektów i wybierz pozycję Chat z tą bazą danych. Działa to w przypadku dowolnego połączenia — lokalnego programu PostgreSQL lub Azure HorizonDB.
- Jeśli zostanie wyświetlony monit, wybierz pozycję Zezwalaj , aby włączyć narzędzie GitHub Copilot w celu uzyskania dostępu do kontekstu połączenia z bazą danych.
- Po otwarciu interfejsu czatu Copilot rozpocznij zadawanie pytań przy użyciu prefiksu
@pgsql, aby określić, że chcesz wchodzić w interakcję z bazą danych PostgreSQL.
Spróbuj wyświetlić monit podobny do następującego:
@pgsql tell me about the tables in the HR schema
Copilot odpowiada za pomocą szczegółowego opisu tabel schematu.
Nawiązywanie połączenia z odpowiednim punktem końcowym bazy danych HorizonDB
Ponieważ klaster Azure HorizonDB udostępnia dwa punkty końcowe, połączenie, w którym rozpoczynasz czat, określa, względem którego punktu końcowego wykonywany jest wygenerowany przez Copilot kod SQL:
- Punkt końcowy do odczytu i zapisu — użyj tego połączenia, jeśli chcesz, aby Copilot tworzył wersje robocze instrukcji, modyfikował je lub wykonywał instrukcje, które zmieniają dane lub schemat albo muszą odczytywać najnowszy zatwierdzony stan.
- Punkt końcowy odczytu — użyj tego połączenia, jeśli chcesz, aby Copilot tworzył i uruchamiał zapytania tylko do odczytu, które korzystają ze skalowania horyzontalnego z równoważeniem obciążenia w obrębie replik HA (na przykład na potrzeby analizy eksploracyjnej lub poleceń dotyczących raportowania).
Jeśli Copilot generuje instrukcję zapisu podczas nawiązywania połączenia z punktem końcowym czytnika, przed zatwierdzeniem wykonania przełącz aktywne połączenie z punktem końcowym odczytu/zapisu.
Korzystanie z funkcji odczytu i zapisu
Integracja GitHub Copilot dla rozszerzenia PostgreSQL w programie Visual Studio Code obsługuje zarówno operacje odczytu, jak i zapisu. Możesz wykonywać zapytania dotyczące danych, modyfikować schematy i aktualizować rekordy bezpośrednio z poziomu edytora za pomocą sugestii opartych na sztucznej inteligencji, które uwzględniają kontekst połączenia na żywo.
Note
Integracja usługi GitHub Copilot Chat dla bazy danych PostgreSQL może wprowadzać zmiany w bazie danych. Tej funkcji należy używać ostrożnie, szczególnie w środowiskach przejściowych i produkcyjnych. Zawsze przejrzyj wygenerowany kod SQL przed jego wykonaniem i najpierw rozważ przetestowanie go w bezpiecznym środowisku. W usłudze Azure HorizonDB upewnij się również, że operacje zapisu są przeznaczone dla punktu końcowego read/write — punkt końcowy czytnika jest tylko do odczytu.
Wypróbuj bardziej zaawansowane polecenie:
@pgsql convert the hr.employees table to use a JSONB column for the address field
Copilot może odpowiedzieć sugestiami SQL i poprosić o uprawnienia do wprowadzania zmian.
Aby zatwierdzić wykonanie:
@pgsql Yes, please make the JSONB column for me
Następnie Copilot prosi o potwierdzenie:
@pgsql Yes, I confirm
Korzystanie z opcji menu kontekstowego
Możesz wybrać kod SQL w edytorze i kliknąć prawym przyciskiem myszy, aby uzyskać dostęp do opcji menu kontekstowego GitHub Copilot, takich jak Wyjaśnienie zapytania, Ponowne zapisywanie zapytań lub Analizowanie wydajności zapytań. W bazie HorizonDB wyjaśnienia i sugestie dotyczące przepisania również uwzględniają indeksy specyficzne dla HorizonDB (takie jak indeksy wektorowe pg_diskann), jeśli są dostępne.
Inne pomysły i przykłady poleceń
W poniższych sekcjach przedstawiono monity dotyczące koncepcji, które można wypróbować lub zmodyfikować, aby dopasować kontekst bazy danych i środowisko programistyczne.
Optymalizacja zapytań
Użyj tych monitów, aby pokierować Copilot w rozwiązywaniu określonych problemów z optymalizacją zapytań.
I'm working on optimizing my database for high-concurrency workloads. The table is called transactions with millions of records, and I'm experiencing deadlocks under a heavy load. Help me optimize my table schema and queries.
I need help writing a query. The data is stored in the orders table, which uses the columns customer_id, order_date, and total_price. I also need to include a rolling 3-month average of customer spending using a window function.
I'm getting this error: 'ERROR: column "orders.total_price" must appear in the GROUP BY clause or be used in an aggregate function.'
Optymalizacja wydajności
Skorzystaj z tych monitów, aby poprowadzić Copilot w rozwiązywaniu określonych wyzwań związanych z optymalizacją wydajności.
Provide the Explain Plan for my most recent query, and please explain each step.
Can you run some performance metrics on my database and tell me how it performs?
My orders table has 10 million records, and queries on customer_id and order_date are slow. How can I optimize indexing, partitioning, and schema design for performance?
Tworzenie aplikacji
Skorzystaj z tych monitów, aby pokierować Copilot w rozwiązywaniu problemów z tworzeniem aplikacji.
Generate a FastAPI endpoint to fetch orders from the ecom.orders table with pagination.
Generate an ETL pipeline script to clean and normalize the customer table data.
Generate a FastAPI project with my database using SQLAlchemy.
Obciążenia sztucznej inteligencji w usłudze Azure HorizonDB
Po nawiązaniu połączenia z klastrem HorizonDB możesz użyć narzędzia Copilot, aby korzystać z funkcji AI platformy HorizonDB — pgvector, pg_diskann (z zaawansowanym filtrowaniem) oraz funkcji AI azure_ai obsługiwanych przez AI Model Management (ograniczona wersja zapoznawcza) lub własne wdrożenia w Microsoft Foundry.
@pgsql Create a products table with a description column and a vector(1536) embedding column. Then write a query that populates the embedding column for any rows where it's NULL using azure_openai.create_embeddings with the default-embedding managed model.
@pgsql Build a pg_diskann index on the products.embedding column using vector_cosine_ops, then write a similarity search that finds the top 10 products with average_rating > 4.5 and price between 100 and 200 - using DiskANN Advanced Filtering so the WHERE clause is evaluated during the vector search.
@pgsql Use azure_ai.extract() to pull product and sentiment out of the review_text column of the product_reviews table, and azure_ai.is_true() to flag reviews that mention shipping issues.
@pgsql I have a Microsoft Foundry deployment of gpt-5 in my own subscription. Show me how to register it with model_registry.model_add as 'gpt-5-byom' and then call azure_ai.generate() with that alias to rewrite the comment_text column of user_comments to be more polite.
Skalowanie odczytu wszerz
Po nawiązaniu połączenia z elementem reader endpoint klastra HorizonDB możesz poprosić Copilot o przygotowanie szkicu obciążeń przeznaczonych tylko do odczytu, które wykorzystują repliki HA z równoważeniem obciążenia:
@pgsql Generate a reporting query against the orders and customers tables that aggregates monthly revenue by region and customer segment. Make sure the query is read-only so it's safe to run against the HorizonDB reader endpoint.
Czyszczenie
Aby zapewnić bezproblemowe działanie, wyczyść wszystkie tymczasowe zasoby lub konfiguracje utworzone podczas tego przewodnika Szybki start. Przykład:
- Odłącz się od bazy danych PostgreSQL w programie Visual Studio Code.
- Usuń wszystkie testowe bazy danych, tabele lub indeksy (w tym wszystkie
pg_diskannindeksy) utworzone podczas sesji. - Zamknij wszystkie otwarte połączenia, aby uniknąć niepotrzebnego użycia zasobów.
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 + Pi uruchom:PGSQL: Report Issue
- Otwórz paletę poleceń za pomocą