Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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.
- Visual Studio Code installerat på datorn.
- En PostgreSQL-databas som installeras lokalt eller finns i Skapa ett Azure HorizonDB-kluster.
- PostgreSQL-tillägget installerat i Visual Studio Code.
- GitHub Copilot-tillägg.
- GitHub Copilot Chat-tillägget har installerats.
- Azure-konto för att ansluta till molnbaserade databaser (valfritt).
Installera GitHub Copilot- och GitHub Copilot Chat-tillägg
Om du inte redan har GitHub Copilot-tillägget installerat i Visual Studio Code:
- Välj ikonen Tillägg i Visual Studio Code, sök efter GitHub Copilot och välj Installera.
- GitHub Copilot Chat-tillägget installeras automatiskt tillsammans med GitHub Copilot.
Logga in på GitHub i Visual Studio Code
- Kontrollera att du har ett GitHub konto och en aktiv GitHub Copilot prenumeration:
- 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.
- 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.
- Om du uppmanas till det väljer du Tillåt för att aktivera GitHub Copilot för att få åtkomst till databasanslutningskontexten.
- När Copilot-chattgränssnittet öppnas börjar du ställa frågor med hjälp av prefixet
@pgsqlfö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_diskannindex) 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 + Poch kör:PGSQL: Report Issue
- Öppna kommandopaletten med