- Bu eklenti, yapay zeka destekli IntelliSense ve
@pgsql GitHub Copilot ajanıyla sorgu yazmayı ve veritabanı yönetimini sadeleştiriyor
- Entra ID kimlik doğrulaması, Azure Database for PostgreSQL entegrasyonu ve benzer özelliklerle birleşik güvenlik ile bulut dağıtım yönetimi sağlıyor
- Şema görselleştirme, sorgu geçmişi yönetimi ve bağlamsal IntelliSense gibi özelliklerle geliştirici üretkenliği ve verimliliğini artırmaya odaklanıyor
- Birden çok veritabanı bağlantısı, parolasız kimlik doğrulama ve sezgisel bir arayüzle onboarding sürecini ve görevler arası geçiş maliyetini en aza indiriyor
Giriş
- Microsoft, Visual Studio Code (bundan sonra VS Code) için yeni bir PostgreSQL eklentisinin herkese açık önizlemesini duyurdu
- Bu eklenti, PostgreSQL veritabanı yönetimini ve geliştirici iş akışını tek bir ortamda kolayca yürütmek için tasarlandı
- Geliştiriciler, VS Code'dan çıkmadan veritabanı nesnelerini yönetebiliyor, sorgu taslakları hazırlayabiliyor ve bağlamsal IntelliSense ile
@pgsql GitHub Copilot ajanından yardım alabiliyor.
Geliştiricilerin yaşadığı zorluklar ve çözüm yaklaşımı
- Yakın tarihli 2024 StackOverflow Geliştirici Anketi'ne göre geliştiricilerin %41'i görevler arası geçiş zorluğu yaşıyor
- 2024 Stripe Developer Coefficient Report, geliştirme süresinin %50'sine kadarının hata ayıklama ve sorun çözmeye harcandığını gösteriyor
- Veritabanı yönetimi ile uygulama geliştirmeyi birleştiren bir eklenti aracının eksikliği, verimsizliğe yol açıyor
- Yeni eklenti, Postgres veritabanı araçlarını ve
@pgsql GitHub Copilot'u birleştirerek geliştirme, yönetim ve hata ayıklamayı tek bir ortamda topluyor
- Entra ID kimlik doğrulaması ve Azure Database for PostgreSQL ile sıkı entegrasyon sayesinde güvenlik ve merkezi yönetim destekleniyor
Temel özellikler
Şema görselleştirme
- Object Explorer'da veritabanı öğelerine sağ tıklayarak,
Visualize Schema seçeneği üzerinden şemayı görselleştirebilirsiniz
Veritabanı farkındalığına sahip GitHub Copilot
- VS Code içinde PostgreSQL bağlamını algılayan yapay zeka desteği sunuyor
- Doğal dille veritabanı sorgulama, şema optimizasyonu ve SQL çalıştırma gibi işleri sadeleştiriyor
@pgsql komutu ile Rewrite Query, Explain Query, Analyze Query Performance gibi bağlam menüleri üzerinden yapay zeka destekli sorgu analizi/optimizasyonu sağlıyor
- Geliştirme sırasında gerçek zamanlı, uzman seviyesinde rehberlik ile güvenlik ve performans iyileştirmeleri sunuyor
Copilot sohbet ajanı modu
- Konuşma tabanlı akıllı sohbet ajanı (
@pgsql), soru-cevabın ötesine geçerek çok adımlı görevleri de destekliyor
- Çalışma alanının gerçek bağlamını anlayabiliyor ve izin verildiğinde kod yazma ve hata ayıklama da yapabiliyor
- Veritabanı oluşturma, eklenti etkinleştirme gibi karmaşık işlemler bile doğal dille yönlendirilebiliyor
- Veritabanında değişiklik yapan işlemler için açık kullanıcı izni gerekiyor
Veritabanı bağlantısı ve yönetimi
- Yerel ve buluttaki PostgreSQL örneklerine kolayca bağlanabiliyor
- Çok sayıda bağlantı profili, bağlantı dizesi ayrıştırma ve bağlantı bilgisi yapılandırmasını kolaylaştırıyor
- Azure Database for PostgreSQL dağıtımlarını doğrudan görüntüleyip filtreleyebiliyorsunuz
- Entra ID entegrasyonu ile güvenlik artırılıyor ve yönetici odaklı veritabanı erişim yönetimi sağlanıyor
Parolasız kimlik doğrulama ve güvenlik
- Entra ID ile parolasız kimlik doğrulama sunuyor
- Manuel oturum açma gerekmiyor, otomatik token yenileme destekleniyor
- Kimlik doğrulama zaman aşımı en aza indiriliyor, geliştirme sırasında süreklilik korunuyor
- Kurumsal güvenlik standartlarıyla uyumlu
- Mevcut Entra ID kimlik bilgileri kullanılabiliyor
- Ayrı bir hesap yönetimi gerekmiyor
Veritabanı gezgini ve sorgu geçmişi
- Şema, tablo, fonksiyon gibi veritabanı nesnelerini yapısal olarak inceleme ve yönetme imkanı sunuyor
- Nesne oluşturma, düzenleme ve silme işlemlerini destekliyor
- Sorgu geçmişi yönetimi sayesinde önceki çalıştırılmış sorguları yeniden kullanmak kolaylaşıyor
Sorgu düzenleme ve bağlamsal IntelliSense
- SQL anahtar kelimeleri, tablo adları ve fonksiyon adları için otomatik tamamlama ile sözdizimi vurgulama sunuyor
- Otomatik sorgu biçimlendirme, geçmiş yönetimi ve okunması kolay bir düzenleme ortamı sağlıyor
Fark yaratan yönler ve güçlü taraflar
- Üretkenlik artışı: Bağlamsal IntelliSense ve SQL biçimlendirme ile çalışma süresini kısaltıp hataları azaltıyor
- Akıllı yapay zeka desteği: Veritabanı/çalışma alanı farkındalığına sahip Copilot sohbet ajanının çok adımlı desteği
- Hızlı onboarding: Bağlantı yöneticisi sayesinde yeni başlayanlar bile ortamı birkaç dakika içinde kurabiliyor
- Güvenlik: Entra ID ile merkezi erişim kontrolü ve Azure dağıtımlarını kolayca keşfetme
- Bütünleşik araç seti: Veritabanı nesnesi yönetimi, sorgu çalıştırma ve örnek dağıtımı dahil her şey VS Code içinde yapılabiliyor
- Bulut dostu yapı: Azure Database for PostgreSQL ile derin entegrasyon sayesinde bulut veritabanı operasyonları sadeleşiyor
Nasıl başlanır
- VS Code Extensions Marketplace içinde
PostgreSQL aratıp Preview PostgreSQL extension'ı (mavi fil simgesi) yükleyin
- GitHub Copilot ve Copilot Chat eklentileri gerekiyor;
@pgsql komutuyla Copilot ile etkileşim kurulabiliyor
Geri bildirim ve gelecek planları
- VS Code içindeki geri bildirim aracı ile kullanıcı görüşleri ve sorunlar gönderilebiliyor
- Standart önizleme lisansı gelecekte güncellenecek
- Daha fazla bilgi ve başlangıç kılavuzu için https://aka.ms/pg-vscode-docs adresine bakabilirsiniz
1 yorum
Hacker News görüşleri
Ekibimizin lansmanını kutluyorum. Geçen hafta Microsoft sponsorlu oturumunda bunu fiilen ilk kez canlı olarak demoyu yapan kişi olarak deneyimimi paylaşmak istiyorum. Demo videosunu buradan izleyebilirsiniz. Ayrıca MSFT standında ayrı bir oturum daha yaptım ama kaydı henüz yüklenmedi. Bunun yerine, demoda gösterdiğim tüm özellikleri birebir deneyebileceğiniz repo burada. Herhangi bir sorunla karşılaşırsanız ekibe buradan haber verin.
Daha önce kendi yazdığım npm paketi “pgstrap” ile çözdüğüm önemli bir problemi bu araç da çözüyor. Bu araç veritabanı yapısını dizin biçiminde üreterek LLM'lerin (büyük dil modelleri) veritabanı şemamı kullanabilmesini sağlıyor ve kod incelemesinde tablo değişikliklerini net biçimde görmeyi kolaylaştırıyor. Veritabanımdaki her tablo için bir SQL dosyası oluşturuyor ve bunları şema bazında dizinlere ayırıyor. Rails'teki schema.rb'ye benzer bir fikir. Editörün veritabanını bilmesi mi daha iyi, yoksa bağlamı kod tabanına commit etmek mi, emin değilim. Üretilen kod/çıktı ne kadar azsa kod tabanı o kadar temiz oluyor. Öte yandan herkes VS Code kullanmıyor ve bu entegrasyondan nasıl yararlanacağını da bilmiyor olabilir. DB tarayıcı GUI'lerinde hiçbir zaman net bir pazar galibi olmadı. Yine de VS Code'un ezici pazar payı nedeniyle bu, geliştirme ortamı içinde DB incelemenin standardı olabilir. pgstrap bağlantısı
Bu araç gerçekten çok havalı görünüyor. Microsoft'un SQL Server yerine Postgres araçlarına bu kadar yatırım yapması şaşırtıcı. Demek ki Postgres'e ciddi talep var.
Bunu kesinlikle deneyeceğim. Kariyerime SQL Server ile başladım ve SSMS bana hep tam uymuştur. Yaklaşık 10 yıldır Postgres kullanıyorum ama pgadmin, dbeaver, datagrip gibi yönetim/sorgu araçlarının hiçbiri beni tam tatmin etmedi. Postgres DBMS olarak harika, SQL Server da maliyeti dışında bence mükemmel. Ama topluluğun Postgres DB araç ekosistemi konusunda daha yüksek sesle şikâyet etmemesi hep garibime gitti.
JetBrains'in VSCode karşısındaki net üstünlüklerinden biri, temiz ve yerleşik DB araçları sunması.
Postico, Postgres ile etkileşim kurarken benim yıllardır varsayılan aracım oldu. Acaba Postico kullanıcılarından bu yeni eklentiyi deneyen var mı?
Şu anda Microsoft'un en “değerli” IDE'sinin hangisi olduğunu merak ediyorum. Birkaç yıl öncesine kadar VSCode, “yeni başlayanlar için Visual Studio” gibi pazarlanıyordu; şimdi ise en çok kullanılan “IDE” hâline geldi. Visual Studio ise daha çok “legacy” olarak görülüyor, gerçi C++ ve .NET için hâlâ çok iyi.
Microsoft Access ile PostgreSQL'in yaklaşık 30 yıl sonra yeniden buluşması gibi mi bu?
SQLite için de böyle bir şey var mı merak ediyorum. Her veritabanı için tamamen ayrı bir eklenti mi gerekiyor, yoksa ortak kullanılabilecek parçalar var mı?
VSCode fena görünmüyor ama keşke onu birden fazla monitöre yaymanın kolay bir yolu olsa. Şu anda kodu bir monitörde, DB aracını ise diğer monitörde DataGrip ile kullanıyorum.