Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az Visual Studio Code postgreSQL-bővítménye GitHub Copilot integrációt tartalmaz, így az adatbázis-munkafolyamatok AI-támogatással támogatott fejlesztéssel bővülnek. Miután csatlakozott egy PostgreSQL-adatbázishoz, Copilot hozzáférhet az élő kapcsolat környezeti adataihoz. Ez a hozzáférés lehetővé teszi, hogy a @pgsql Copilot Chat résztvevő pontos, sémaérzékeny SQL-lekérdezéseket és elemzéseket hozzon létre, egyszerűsítse a fejlesztést, és minimalizálja a környezetváltást a Visual Studio Code belül.
A @pgsql résztvevő minden olyan adatbázison dolgozik, amelyhez a bővítmény csatlakozhat, beleértve a következőket:
- Azure HorizonDB fürtök.
Ha HorizonDB-fürthöz csatlakozik, Copilot tisztában van az adatbázisra telepített HorizonDB-specifikus bővítményekkel (például pgvector, pg_diskann, azure_ai és age), és olyan kéréseket és SQL-t hozhat létre, amelyek kihasználják azokat.
Prerequisites
Mielőtt hozzákezdene, ellenőrizze, hogy a megfelelő eszközöket és erőforrásokat letöltötte és telepítette-e.
- A Visual Studio Code telepítve van a gépére.
- Helyileg telepített PostgreSQL-adatbázis, vagy a Azure HorizonDB-fürt létrehozása szolgáltatásban üzemeltetett adatbázis.
- A Visual Studio Code-ban telepített PostgreSQL-bővítmény.
- GitHub Copilot bővítmény.
- A GitHub Copilot Chat bővítmény telepítve van.
- Azure-fiók felhőben üzemeltetett adatbázisokhoz való csatlakozáshoz (nem kötelező).
A GitHub Copilot és a GitHub Copilot Csevegés bővítményeinek telepítése
Ha még nem telepítette a GitHub Copilot bővítményt a Visual Studio Code-ban:
- Válassza a Visual Studio Code Bővítmények ikonját, keresse meg a GitHub Copilotot, és válassza a Telepítés lehetőséget.
- A GitHub Copilot Chat bővítmény automatikusan telepítve van a GitHub Copilottal együtt.
Bejelentkezés a GitHubra a Visual Studio Code-ban
- Győződjön meg arról, hogy rendelkezik GitHub fiókkal és aktív GitHub Copilot előfizetéssel:
- A Visual Studio Code-ban válassza ki a Account ikont, majd a Sign in with GitHub lehetőséget a GitHub Copilot használatához.
A GitHub Copilot használatának első lépései
Kövesse a lépéseket a GitHub Copilot PostgreSQL Visual Studio Code-bővítménysel való használatának megkezdéséhez.
- Kattintson a jobb gombbal egy PostgreSQL-adatbázisra az Object Explorerben, és válassza a Csevegés ezzel az adatbázissal lehetőséget. Ez bármilyen kapcsolathoz használható – helyi PostgreSQL-hez vagy Azure HorizonDB-hez.
- Ha a rendszer kéri, válassza az Engedélyezés lehetőséget, ha engedélyezni szeretné a GitHub Copilot számára az adatbázis-kapcsolati környezet elérését.
- Amikor megnyílik a Copilot csevegőfelülete, kezdjen el kérdéseket feltenni az
@pgsqlelőtaggal, és adja meg, hogy használni szeretné-e a PostgreSQL-adatbázist.
Próbálkozzon a következővel:
@pgsql tell me about the tables in the HR schema
A Copilot a séma tábláinak részletes leírásával válaszol.
Csatlakozás a megfelelő HorizonDB-végponthoz
Mivel egy Azure HorizonDB-fürt két végpontot biztosít, az a kapcsolat, amelyen a csevegést elindítja, határozza meg, hogy a Copilot által generált SQL melyik végponton fut:
- Read/write endpoint – Ezt a kapcsolatot akkor használja, ha azt szeretné, hogy Copilot olyan utasításokat fogalmazzon meg, módosítson vagy hajtson végre, amelyek módosítják az adatokat vagy sémákat, vagy amelyek beolvassák a legújabb véglegesített állapotot.
- Reader-végpont – Ezt a kapcsolatot akkor használja, ha azt szeretné, hogy Copilot read-only lekérdezéseket készítsen és futtasson, amelyek kihasználják a hareplikák közötti elosztott terheléselosztás előnyeit (például feltáró elemzések vagy jelentéskészítési kérések).
Ha Copilot írási utasítást hoz létre, miközben csatlakozik az olvasóvégponthoz, a végrehajtás jóváhagyása előtt váltson az aktív kapcsolatra az olvasási/írási végpontra.
Olvasási és írási képességek használata
A PostgreSQL-bővítmény GitHub Copilot integrációja Visual Studio Code támogatja az olvasási és írási műveleteket is. Közvetlenül a szerkesztőből lekérdezheti az adatokat, módosíthatja a sémákat és frissítheti a rekordokat olyan AI-alapú javaslatokkal, amelyek figyelembe veszik az élő kapcsolati környezetet.
Note
A GitHub Copilot Chat PostgreSQL-integrációja módosíthatja az adatbázist. Ezt a funkciót körültekintően használja, különösen tesztelési és éles környezetekben. A végrehajtás előtt mindig tekintse át a létrehozott SQL-kódot, és fontolja meg a biztonságos környezetben való tesztelést. Az Azure HorizonDB-ben arra is ügyeljen, hogy az írási műveletek a read/write végpontot célozzák – az olvasási végpont csak olvasható.
Próbálkozzon egy speciálisabb kéréssel:
@pgsql convert the hr.employees table to use a JSONB column for the address field
A Copilot sql-javaslatokkal válaszolhat, és engedélyt kérhet a módosítások elvégzéséhez.
Végrehajtás jóváhagyása:
@pgsql Yes, please make the JSONB column for me
Ezután a Copilot megerősítést kér:
@pgsql Yes, I confirm
Helyi menü beállításainak használata
A szerkesztőben kiválaszthatja az SQL-kódot, és a jobb gombbal kattintva elérheti a GitHub Copilot helyi menüjének olyan beállításait, mint a Lekérdezés magyarázata, a Lekérdezés újraírása vagy a Lekérdezési teljesítmény elemzése. A HorizonDB-ben a magyarázatok és az újraírási javaslatok a HorizonDB-specifikus indexeket (például pg_diskann vektorindexeket) is figyelembe veszik, amikor jelen vannak.
Egyéb ötletek és gyors receptek
A következő szakaszok olyan mintautasításokat mutatnak be, amelyeket kipróbálhat, vagy módosíthat az adatbázis-környezetének és fejlesztői környezetének megfelelően.
Lekérdezésoptimalizálás
Ezekkel a kérésekkel útmutatást nyújt a Copilotnak a lekérdezésoptimalizálással kapcsolatos konkrét kihívások kezeléséhez.
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.'
Teljesítményoptimalizálás
Ezekkel a kérésekkel útmutatást nyújt a Copilotnak a teljesítményoptimalizálással kapcsolatos konkrét kihívások kezeléséhez.
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?
Alkalmazásfejlesztés
Ezekkel a kérésekkel útmutatást nyújt a Copilotnak az alkalmazásfejlesztési kihívások kezeléséhez.
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-számítási feladatok Azure HorizonDB-n
Ha egy HorizonDB-fürthöz csatlakozik, a Copilottal kihasználhatja a HorizonDB AI-képességeit – pgvector, pg_diskann (speciális szűréssel), valamint a azure_ai AI-függvényeket, amelyeket a AI-modellkezelés (korlátozott előzetes verzió) vagy a saját Microsoft Foundry-telepítései támogatnak.
@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.
Olvasási felskálázás
Ha egy HorizonDB-fürt olvasói végpontjához csatlakozik, megkérheti a Copilotot, hogy készítsen csak olvasási számítási feladatokat, amelyek kihasználják a terheléselosztást használó HA-replikák előnyeit:
@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.
Takarítás
A zökkenőmentes működés érdekében törölje az ebben a rövid útmutatóban létrehozott ideiglenes erőforrásokat vagy konfigurációkat. Például:
- Válassza le a Kapcsolatot a PostgreSQL-adatbázissal a Visual Studio Code-ban.
- Távolítsa el a munkamenet során létrehozott tesztadatbázisokat, táblákat vagy indexeket (beleértve az indexeket is
pg_diskann). - Zárja be a nyitott kapcsolatokat a szükségtelen erőforrás-használat elkerülése érdekében.
Visszajelzés és támogatás
Hibák, funkciókérések és problémák esetén használja a Visual Studio Code beépített visszajelzési eszközét. Ezt a visszajelzést a Visual Studio Code súgómenüjében vagy a PGSQL parancskatalógusában teheti meg.
-
Súgó menü
- Ugrás a Súgó > Probléma jelentése
-
Parancskatalógus
- Nyissa meg a parancs palettát
Ctrl + Shift + Pés futtassa:PGSQL: Report Issue
- Nyissa meg a parancs palettát