Snabbstart: Konfigurera GitHub Copilot för PostgreSQL-tillägget i Visual Studio Code (förhandsversion)

PostgreSQL-tillägget för Visual Studio Code innehåller GitHub Copilot integrering, vilket förbättrar dina databasarbetsflöden med AI-assisterad utveckling. När du är ansluten till en PostgreSQL-databas kommer Copilot åt kontextbaserad information från din live-anslutning. Med den här åtkomsten kan deltagaren @pgsql Copilot Chat generera korrekta, schemamedvetna SQL-frågor och insikter, effektivisera utvecklingen och minimera kontextväxlingen inom Visual Studio Code.

Deltagaren @pgsql arbetar mot alla databaser som tillägget kan ansluta till, inklusive:

  • Azure HorizonDB kluster.

När du är ansluten till ett HorizonDB-kluster är Copilot medveten om de HorizonDB-specifika tillägg som är installerade på databasen (till exempel pgvector, pg_diskann, azure_ai och age) och kan generera uppmaningar och SQL som drar nytta av dem.

Förutsättningar

Innan du börjar kontrollerar du att du har rätt verktyg och resurser nedladdade och installerade.

Installera GitHub Copilot- och GitHub Copilot Chat-tillägg

Om du inte redan har GitHub Copilot-tillägget installerat i Visual Studio Code:

  1. Välj ikonen Tillägg i Visual Studio Code, sök efter GitHub Copilot och välj Installera.
  2. GitHub Copilot Chat-tillägget installeras automatiskt tillsammans med GitHub Copilot.

Logga in på GitHub i Visual Studio Code

  1. Kontrollera att du har ett GitHub konto och en aktiv GitHub Copilot prenumeration:
  2. I Visual Studio Code väljer du ikonen Account och väljer Tilldela med GitHub för att använda GitHub Copilot.

Kom igång med GitHub Copilot

Följ stegen för att börja använda GitHub Copilot med Tillägget PostgreSQL Visual Studio Code.

  1. Högerklicka på en PostgreSQL-databas i Object Explorer och välj Chat med den här databasen. Detta fungerar för alla anslutningar – lokal PostgreSQL eller Azure HorizonDB.
  2. Om du uppmanas till det väljer du Tillåt för att aktivera GitHub Copilot för att få åtkomst till databasanslutningskontexten.
  3. När Copilot-chattgränssnittet öppnas börjar du ställa frågor med hjälp av prefixet @pgsql för att ange att du vill interagera med PostgreSQL-databasen.

Prova en fråga som:

@pgsql tell me about the tables in the HR schema

Copilot svarar med en detaljerad beskrivning av schemats tabeller.

Anslut till rätt HorizonDB-slutpunkt

Eftersom ett Azure HorizonDB-kluster har två slutpunkter avgör den anslutning där du startar chatten vilken av slutpunkterna SQL som Copilot genererar körs mot:

  • Slutpunkt för läsning/skrivning - Använd den här anslutningen när du vill att Copilot ska utforma, ändra eller köra satser som ändrar data eller schema, eller som måste läsa det senast genomförda tillståndet.
  • Reader-slutpunkten – Använd den här anslutningen när du vill att Copilot ska utarbeta och köra läs endast frågor som drar nytta av belastningsutjämnad utskalning mellan HA-repliker (till exempel undersökande analys eller rapporteringsprompter).

Om Copilot genererar en skrivinstruktion när du är ansluten till läsningsslutpunkten, byter du den aktiva anslutningen till läs-/skrivslutpunkten innan du godkänner att den körs.

Använda läs- och skrivfunktioner

GitHub Copilot-integreringen för PostgreSQL-tillägget i Visual Studio Code har stöd för både läs- och skrivåtgärder. Du kan ställa frågor mot data, modifiera scheman och uppdatera poster direkt från redigeraren med AI-baserade förslag som tar hänsyn till kontexten för liveanslutningen.

Note

GitHub-Copilot Chat integrering för PostgreSQL kan göra ändringar i databasen. Använd den här funktionen med försiktighet, särskilt i mellanlagrings- och produktionsmiljöer. Granska alltid den genererade SQL-koden innan du kör den och överväg att testa den i en säker miljö först. På Azure HorizonDB kontrollerar du också att skrivåtgärderna riktar sig mot slutpunkten read/write – läsarslutpunkten är skrivskyddad.

Prova en mer avancerad fråga:

@pgsql convert the hr.employees table to use a JSONB column for the address field

Copilot kan svara med SQL-förslag och be om behörighet att göra ändringar.

Så här godkänner du körning:

@pgsql Yes, please make the JSONB column for me

Sedan ber Copilot om bekräftelse:

@pgsql Yes, I confirm

Använd snabbmenyalternativ

Du kan välja SQL-kod i redigeraren och högerklicka för att få åtkomst till gitHub Copilot-snabbmenyalternativ som Förklara fråga, Skriva om fråga eller Analysera frågeprestanda. I HorizonDB tar förklaringarna och omskrivningsförslagen också hänsyn till HorizonDB-specifika index (till exempel pg_diskann vektorindex) när de finns.

Andra idéer och promptrecept

I följande avsnitt visas begreppsprompter som du kan prova eller ändra för att matcha databaskontexten och utvecklingsmiljön.

Frågeoptimering

Använd dessa uppmaningar för att vägleda Copilot när det gäller att hantera specifika frågeoptimeringsutmaningar.

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.'

Prestandaoptimering

Använd dessa uppmaningar för att vägleda Copilot när det gäller att hantera specifika prestandaoptimeringsutmaningar.

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?

App-utveckling

Använd dessa uppmaningar för att vägleda Copilot när det gäller att hantera apputvecklingsutmaningar.

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.

AI-arbetsbelastningar på Azure HorizonDB

När du är ansluten till ett HorizonDB-kluster du kan använda Copilot för att bygga vidare på HorizonDB:s AI-funktioner – pgvector, pg_diskann (med avancerad filtrering) och azure_ai AI Functions som backas upp av AI Model Management (begränsad förhandsversion) eller dina egna Microsoft Foundry-distributioner.

@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.

Läsa utskalning

När du är ansluten till reader-endpointen i ett HorizonDB-kluster kan du be Copilot att ta fram skrivskyddade arbetslaster som drar nytta av lastbalanserade HA-repliker:

@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.

Städa upp

För att säkerställa en smidig upplevelse rensar du alla tillfälliga resurser eller konfigurationer som du skapade under den här snabbstarten. Ett exempel:

  • Koppla från PostgreSQL-databasen i Visual Studio Code.
  • Ta bort alla testdatabaser, tabeller eller index (inklusive eventuella pg_diskann index) som du skapade under sessionen.
  • Stäng alla öppna anslutningar för att undvika onödig resursanvändning.

Feedback och support

För buggar, funktionsbegäranden och problem använder du det inbyggda feedbackverktyget i Visual Studio Code. Du kan slutföra den här feedbacken via hjälpmenyn i Visual Studio Code eller PGSQL-kommandopaletten.

  • Hjälp-menyn
    • Gå till Hjälp Rapportera Problem >
  • Kommandopalett
    • Öppna kommandopaletten med Ctrl + Shift + P och kör: PGSQL: Report Issue