Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die PostgreSQL-Erweiterung für Visual Studio Code umfasst GitHub Copilot Integration, um Ihre Datenbankworkflows mit KI-unterstützter Entwicklung zu verbessern. Sobald eine Verbindung mit einer PostgreSQL-Datenbank hergestellt wurde, greift Copilot von Ihrer Liveverbindung auf kontextbezogene Informationen zu. Dieser Zugriff ermöglicht es dem @pgsql Copilot Chat-Teilnehmer, genaue, schemafähige SQL-Abfragen und Erkenntnisse zu generieren, die Entwicklung zu optimieren und den Kontextwechsel innerhalb Visual Studio Code zu minimieren.
Der @pgsql Teilnehmer arbeitet mit jeder Datenbank, mit der die Erweiterung eine Verbindung herstellen kann, einschließlich:
- Azure HorizonDB Cluster.
Wenn eine Verbindung mit einem HorizonDB-Cluster hergestellt wird, ist Copilot den in der Datenbank installierten HorizonDB-spezifischen Erweiterungen (z. B. pgvector, pg_diskann, azure_ai und age) bekannt und können Eingabeaufforderungen und SQL generieren, die diese nutzen.
Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass Sie die richtigen Tools und Ressourcen heruntergeladen und installiert haben.
- Visual Studio Code auf Ihrem Computer installiert.
- Eine lokal installierte PostgreSQL-Datenbank oder eine in Create an Azure HorizonDB cluster gehostete.
- Die PostgreSQL-Erweiterung wurde in Visual Studio Code installiert.
- GitHub Copilot extension.
- GitHub Copilot Chat-Erweiterung installiert.
- Azure-Konto für die Verbindung mit in der Cloud gehosteten Datenbanken (optional).
Installieren Sie die Erweiterungen GitHub Copilot und GitHub Copilot Chat.
Wenn Sie die GitHub Copilot-Erweiterung noch nicht in Visual Studio Code installiert haben:
- Wählen Sie das Symbol "Erweiterungen" in Visual Studio Code aus, suchen Sie nach GitHub Copilot, und wählen Sie "Installieren" aus.
- Die GitHub Copilot Chat-Erweiterung wird automatisch zusammen mit GitHub Copilot installiert.
Anmelden bei GitHub in Visual Studio Code
- Stellen Sie sicher, dass Sie über ein GitHub-Konto und ein aktives GitHub Copilot-Abonnement verfügen:
- Wählen Sie in Visual Studio Code das Symbol Account aus, und wählen Sie Sign in with GitHub to use GitHub Copilot aus.
Erste Schritte mit GitHub Copilot
Führen Sie die Schritte aus, um mit der Verwendung von GitHub Copilot mit der Erweiterung PostgreSQL Visual Studio Code zu beginnen.
- Klicken Sie mit der rechten Maustaste auf eine PostgreSQL-Datenbank im Objekt-Explorer, und wählen Sie Chat mit dieser Datenbank aus. Dies funktioniert für jede Verbindung - lokale PostgreSQL oder Azure HorizonDB.
- Wenn Sie dazu aufgefordert werden, wählen Sie Zulassen, um GitHub Copilot den Zugriff auf den Datenbankverbindungskontext zu ermöglichen.
- Wenn die Copilot-Chatschnittstelle geöffnet wird, beginnen Sie mit dem
@pgsqlPräfix, Fragen zu stellen, um anzugeben, dass Sie mit der PostgreSQL-Datenbank interagieren möchten.
Probieren Sie eine Eingabeaufforderung wie folgt aus:
@pgsql tell me about the tables in the HR schema
Copilot antwortet mit einer detaillierten Beschreibung der Tabellen Ihres Schemas.
Herstellen einer Verbindung mit dem richtigen HorizonDB-Endpunkt
Da ein Azure HorizonDB-Cluster zwei Endpunkte bereitstellt, bestimmt die Verbindung, über die Sie den Chat starten, gegen welchen Endpunkt die von Copilot generierten SQL-Abfragen ausgeführt werden:
- Lese-/Schreib-Endpunkt – Verwenden Sie diese Verbindung, wenn Sie möchten, dass Copilot Anweisungen entwirft, ändert oder ausführt, die Daten oder das Schema ändern oder den zuletzt festgeschriebenen Zustand lesen müssen.
- Leser-Endpunkt – Verwenden Sie diese Verbindung, wenn Sie möchten, dass Copilot schreibgeschützte Abfragen entwirft und ausführt, die von einer lastverteilten Skalierung über HA-Replikate hinweg profitieren (z. B. explorative Analysen oder Berichts-Prompts).
Wenn Copilot eine Schreib-Anweisung generiert, während Sie mit dem Leseendpunkt verbunden sind, wechseln Sie die aktive Verbindung zum Lese-/Schreibendpunkt, bevor Sie die Ausführung genehmigen.
Verwenden von Lese- und Schreibfunktionen
Die GitHub Copilot Integration für die PostgreSQL-Erweiterung in Visual Studio Code unterstützt Lese- und Schreibvorgänge. Sie können Daten abfragen, Schemas ändern und Datensätze direkt aus dem Editor mit KI-basierten Vorschlägen aktualisieren, die den Liveverbindungskontext berücksichtigen.
Note
Die GitHub-Copilot Chat Integration für PostgreSQL kann Änderungen an Ihrer Datenbank vornehmen. Verwenden Sie dieses Feature mit Vorsicht, insbesondere in Staging- und Produktionsumgebungen. Überprüfen Sie immer den generierten SQL-Code, bevor Sie ihn ausführen, und testen Sie ihn zuerst in einer sicheren Umgebung. Stellen Sie in Azure HorizonDB außerdem sicher, dass Schreibvorgänge an den Lese-/Schreib-Endpunkt gesendet werden – der Leseendpunkt ist schreibgeschützt.
Probieren Sie eine erweiterte Eingabeaufforderung aus:
@pgsql convert the hr.employees table to use a JSONB column for the address field
Copilot kann mit SQL-Vorschlägen antworten und die Berechtigung zum Vornehmen von Änderungen anfordern.
Um die Ausführung zu genehmigen:
@pgsql Yes, please make the JSONB column for me
Dann bittet Copilot um Bestätigung:
@pgsql Yes, I confirm
Verwenden von Kontextmenüoptionen
Sie können SQL-Code im Editor auswählen und mit der rechten Maustaste klicken, um auf GitHub Copilot-Kontextmenüoptionen wie "Explain Query", " Rewrite Query" oder "Analyse der Abfrageleistung" zuzugreifen. In HorizonDB berücksichtigen die Erklärungen und Vorschläge für Umschreibungen auch HorizonDB-spezifische Indizes (z. B. pg_diskannVektorindizes), falls vorhanden.
Andere Ideen und prompte Rezepte
In den folgenden Abschnitten werden Konzeptaufforderungen angezeigt, die Sie ausprobieren oder ändern können, um ihrer Datenbankkontext- und Entwicklungsumgebung zu entsprechen.
Abfrageoptimierung
Verwenden Sie diese Eingabeaufforderungen, um Copilot bei der Bewältigung bestimmter Herausforderungen bei der Abfrageoptimierung zu unterstützen.
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.'
Leistungsoptimierung
Verwenden Sie diese Eingabeaufforderungen, um Copilot bei der Bewältigung bestimmter Leistungsoptimierungsprobleme zu unterstützen.
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-Entwicklung
Verwenden Sie diese Eingabeaufforderungen, um Copilot bei der Bewältigung von Herausforderungen bei der App-Entwicklung zu unterstützen.
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-Workloads auf Azure HorizonDB
Wenn Sie mit einem HorizonDB-Cluster verbunden sind, Sie können Copilot verwenden, um auf den KI-Funktionen von HorizonDB aufzubauen – pgvector, pg_diskann (mit erweiterter Filterung) und die azure_ai AI-Funktionen, die von AI Model Management (eingeschränkte Vorschau) oder Ihren eigenen Microsoft Foundry-Bereitstellungen unterstützt werden.
@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.
Horizontale Leseskalierung
Wenn Sie mit dem Leser-Endpunkt eines HorizonDB-Clusters verbunden sind, können Sie Copilot bitten, schreibgeschützte Workloads zu entwerfen, die die Vorteile lastenausgeglichener HA-Replikate nutzen:
@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.
Aufräumen
Um eine reibungslose Benutzererfahrung sicherzustellen, bereinigen Sie alle temporären Ressourcen oder Konfigurationen, die Sie während dieser Schnellstartanleitung erstellt haben. Beispiel:
- Trennen Sie die Verbindung mit der PostgreSQL-Datenbank in Visual Studio Code.
- Entfernen Sie alle Testdatenbanken, Tabellen oder Indizes (einschließlich aller
pg_diskannIndizes), die Sie während der Sitzung erstellt haben. - Schließen Sie alle offenen Verbindungen, um unnötige Ressourcennutzung zu vermeiden.
Feedback und Support
Verwenden Sie für Fehler, Featureanforderungen und Probleme das integrierte Feedbacktool in Visual Studio Code. Sie können dieses Feedback über das Visual Studio Code-Hilfemenü oder die PGSQL-Befehlspalette abschließen.
-
Hilfemenü
- Gehe zu Hilfe > Problem melden
-
Befehlspalette
- Öffnen Sie die Befehlspalette mit
Ctrl + Shift + P, und führen Sie Folgendes aus:PGSQL: Report Issue
- Öffnen Sie die Befehlspalette mit