Hızlı Başlangıç: Visual Studio Code'de PostgreSQL uzantısı için GitHub Copilot yapılandırma (Önizleme)

Visual Studio Code için PostgreSQL uzantısı, yapay zeka destekli geliştirme ile veritabanı iş akışlarınızı geliştiren GitHub Copilot tümleştirmeyi içerir. PostgreSQL veritabanına bağlandıktan sonra Copilot canlı bağlantınızdan bağlamsal bilgilere erişir. Bu erişim, @pgsql Copilot Chat katılımcısının doğru, şemaya duyarlı SQL sorguları ve içgörüleri oluşturmasına, geliştirmeyi kolaylaştırmasına ve Visual Studio Code içinde bağlam geçişini en aza indirmesine olanak tanır.

Katılımcı, @pgsql uzantının bağlanabileceği herhangi bir veritabanında çalışır, örneğin:

  • Azure HorizonDB kümeleri.

Bir HorizonDB kümesine bağlandığında, Copilot veritabanında yüklenen HorizonDB'ye özgü uzantıların (pgvector, pg_diskann, azure_ai ve age gibi) farkındadır ve bunlardan yararlanan istemler ve SQL oluşturabilir.

Prerequisites

Başlamadan önce uygun araçların ve kaynakların indirilip yüklendiğini doğrulayın.

GitHub Copilot ve GitHub Copilot Sohbet uzantılarını yükleme

Visual Studio Code'da GitHub Copilot uzantısı yüklü değilse:

  1. Visual Studio Code'da Uzantılar simgesini seçin, GitHub Copilot araması yapın ve Yükle'yi seçin.
  2. GitHub Copilot Sohbet uzantısı, GitHub Copilot ile birlikte otomatik olarak yüklenir.

Visual Studio Code'da GitHub'da oturum açma

  1. GitHub hesabınız ve etkin bir GitHub Copilot aboneliğiniz olduğundan emin olun:
  2. Visual Studio Code'da, GitHub Copilot'u kullanmak için Account simgesini seçin ve Sign in with GitHub seçeneğini belirleyin.

GitHub Copilot'ı kullanmaya başlama

PostgreSQL Visual Studio Code uzantısıyla GitHub Copilot kullanmaya başlamak için adımları izleyin.

  1. Nesne Gezgini bir PostgreSQL veritabanına sağ tıklayın ve bu veritabanıyla Chat'i seçin. Bu, yerel PostgreSQL veya Azure HorizonDB fark etmeksizin her türlü bağlantı için çalışır.
  2. İstenirse GitHub Copilot'un veritabanı bağlantı bağlamını erişmesini sağlamak için İzin Ver'i seçin.
  3. Copilot sohbet arabirimi açıldığında, PostgreSQL veritabanıyla etkileşim kurmak istediğinizi belirtmek için ön ekini kullanarak @pgsql sorular sormaya başlayın.

Aşağıdaki gibi bir istem deneyin:

@pgsql tell me about the tables in the HR schema

Copilot, şemanızın tablolarının ayrıntılı bir açıklamasıyla yanıt verir.

Sağ HorizonDB uç noktasına bağlanma

Azure HorizonDB kümesi iki uç noktayı kullanıma sunduğundan, sohbete hangi bağlantıda başladığınız Copilot tarafından oluşturulan SQL'in hangi uç noktada çalıştırılacağını belirler:

  • Read/write endpoint - Copilot'un verileri veya şemayı değiştiren ya da en son commit edilmiş durumu okuması gereken ifadeler oluşturmasını, değiştirmesini veya yürütmesini istediğinizde bu bağlantıyı kullanın.
  • Reader uç noktası - Copilot'in HA çoğaltmaları arasında yük dengeli ölçek genişletmeden yararlanan read-only sorgularını (örneğin keşif analizi veya raporlama istemleri) taslak olarak hazırlamasını ve çalıştırmasını istediğinizde bu bağlantıyı kullanın.

Copilot, okuma uç noktasına bağlıyken bir yazma ifadesi oluşturursa, yürütmeyi onaylamadan önce etkin bağlantıyı okuma/yazma uç noktası olarak değiştirin.

Okuma ve yazma özelliklerini kullanma

Visual Studio Code'daki PostgreSQL uzantısı için GitHub Copilot tümleştirmesi hem okuma hem de yazma işlemlerini destekler. Canlı bağlantı bağlamını dikkate alan yapay zeka destekli önerilerle doğrudan düzenleyiciden verileri sorgulayabilir, şemaları değiştirebilir ve kayıtları güncelleştirebilirsiniz.

Note

PostgreSQL için GitHub Copilot Chat tümleştirmesi veritabanınızda değişiklikler yapabilir. Özellikle hazırlama ve üretim ortamlarında bu özelliği dikkatli kullanın. Oluşturulan SQL kodunu yürütmeden önce her zaman gözden geçirin ve önce güvenli bir ortamda test etmeyi göz önünde bulundurun. Azure HorizonDB'de yazma işlemlerinin read/write uç noktasını hedeflediğinden emin olun - okuyucu uç noktası salt okunurdur.

Daha gelişmiş bir istem deneyin:

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

Copilot, SQL önerileriyle yanıt verebilir ve değişiklik yapmak için izin isteyebilir.

Yürütmeyi onaylamak için:

@pgsql Yes, please make the JSONB column for me

Ardından Copilot onay ister:

@pgsql Yes, I confirm

Bağlam menüsü seçeneklerini kullanma

Sorguyu Açıkla, Sorguyu Yeniden Yaz veya Sorgu Performansını Analiz Et gibi GitHub Copilot bağlam menüsü seçeneklerine erişmek için düzenleyicide SQL kodunu seçebilir ve sağ tıklayabilirsiniz. HorizonDB'de açıklamalar ve yeniden yazma önerileri, mevcut olduklarında HorizonDB'ye özgü dizinleri (vektör dizinleri gibi pg_diskann ) de hesaba katmaktadır.

Diğer fikirler ve istem tarifleri

Aşağıdaki bölümlerde, veritabanı bağlamınız ve geliştirme ortamınızla eşleşecek şekilde deneyebileceğiniz veya değiştirebileceğiniz kavram istemleri gösterilmektedir.

Sorgu iyileştirme

Copilot'a belirli sorgu iyileştirme zorluklarını giderme konusunda yol göstermek için bu istemleri kullanın.

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

Performans iyileştirme

Copilot'a belirli performans iyileştirme zorluklarını giderme konusunda yol göstermek için bu istemleri kullanın.

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?

Uygulama geliştirme

Uygulama geliştirme zorluklarının giderilmesinde Copilot'a yol göstermek için bu istemleri kullanın.

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.

Azure HorizonDB'de yapay zeka iş yükleri

Bir HorizonDB kümesine bağlandığınızda, Copilot kullanarak HorizonDB'nin yapay zeka özelliklerini (pgvector, pg_diskann (Gelişmiş Filtreleme ile) ve azure_ai veya kendi Microsoft Foundry dağıtımlarınız tarafından desteklenen AI İşlevlerini oluşturabilirsiniz.

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

Yatay ölçeklendirme hakkında bilgi edinin

HorizonDB kümesinin reader uç noktasına bağlandığınızda, Copilot'tan yük dengeli yüksek kullanılabilirlik (HA) çoğaltmalarından yararlanan salt okunur iş yükleri taslağı hazırlamasını isteyebilirsiniz:

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

Temizleme

Sorunsuz bir deneyim sağlamak için bu hızlı başlangıç sırasında oluşturduğunuz geçici kaynakları veya yapılandırmaları temizleyin. Örneğin:

  • Visual Studio Code'da PostgreSQL veritabanı bağlantısını kesin.
  • Oturum sırasında oluşturduğunuz tüm test veritabanlarını, tabloları veya dizinleri (dizinler pg_diskann dahil) kaldırın.
  • Gereksiz kaynak kullanımını önlemek için tüm açık bağlantıları kapatın.

Geri bildirim ve destek

Hatalar, özellik istekleri ve sorunlar için Visual Studio Code'daki yerleşik geri bildirim aracını kullanın. Bu geri bildirimi Visual Studio Code Yardım menüsü veya PGSQL komut paleti aracılığıyla tamamlayabilirsiniz.

  • Yardım menüsü
    • Yardım > Sorun Bildir'e gidin
  • Komut paleti
    • Komut Paleti'ni şu şekilde Ctrl + Shift + P açın ve çalıştırın: PGSQL: Report Issue