3 puan yazan GN⁺ 2025-05-24 | 1 yorum | WhatsApp'ta paylaş
  • 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

 
GN⁺ 2025-05-24
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ı

    • Veritabanı şemasının mevcut durumunu ve tüm migration'ları sürüm kontrolüne dahil etmek web framework'lerde zaten tamamen standart değil mi?
    • Pratik bir araç gibi görünüyor, paylaştığınız için teşekkürler. Tablolar/sütunlar/indeksler dışında trigger'ları veya stored procedure'leri de dışa aktarıyor mu? Birçok araç tablo tanımlarında duruyor. Veritabanının daha fazla özelliğini kullanan araçlara ihtiyacımız var.
    • DB'me yalnızca read-only bir login kullanan bir MCP server (ve copilot/cline) kullanıyorum.
  • 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.

    • Zaten VS Code için bir Microsoft SQL Server eklentisi var; bu yeni gelen de aslında onun neredeyse birebir klonu gibi. Deneyince menüler, diyaloglar ve genel hissiyatın aynı olduğunu gördüm. Eskiden Azure Data Studio'nun (artık desteklenmiyor) bu eklentinin temeli olduğu söyleniyordu. SQL Server eklentisi bağlantısı
    • Bir Microsoft developer evangelist'i olarak bakınca, hem SQL Server hem de PostgreSQL eklenti ekiplerinin kendi taraflarında inanılmaz emek verdiğini söyleyebilirim. Her iki ekibin de usability test'lerine ve bug bash'lerine katıldım; geliştirici dostu araçlar üretme konusundaki tutkularını bizzat gördüm. İhtiyacınız olan şeyleri mutlaka ekiplere geri bildirin. SQL Server haberleri için Carlos Robles'ı ve PostgreSQL haberleri için Joshua Johnson'ı takip edin.
    • Bence bunun nedeni MSSQL araçlarının ADS üzerinden sürekli bakım görmüş ve kaliteli olması. Azure Data Studio artık kapanıyor ve VS Code için Postgres eklentisinde son 6 yılda anlamlı bir commit yoktu. Ben de Postgres için daha iyi bir alternatif olmadığı için ADS kullanmaya devam etmiştim. referans bağlantısı
    • SQL Server Management Studio'nun (SSMS) zaten benzer bir işi görmediğini düşünmek zor. Muhtemelen uzun vadeli plan SSMS'yi VS Code'a taşımak olabilir. Belki de bu yüzden önce Postgres desteğiyle deneme yapıyorlardır. SSMS bağlantısı
    • Keşke SQLite için de buna benzer bir eklenti olsa.
  • 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.

    • Kişisel olarak şu ana kadar kullandığım genel amaçlı DB araçları içinde DataGrip açık ara en etkileyici olanıydı. Birçok DB aracı denedim ama çoğu sanki DB uzmanları tarafından yapılmış gibi; IDE uzmanlarının yaptığı ürün çok az. Özellikler, genişletilebilirlik, iyileştirme hızı, her açıdan çok memnunum. Açık kaynaklı araçlarla (pgadmin, dbeaver) aynı ligde bile değiller. Oracle işleriyle uğraşırken DataGrip akıl sağlığımı korudu.
    • SQL geliştiricilerinin büyük çoğunluğu aslında araçlara pek aldırmıyor. Genelde veritabanı/tablo tasarımcıları ayrı kişiler oluyor; sıradan geliştiriciler veritabanından çok tablo ve view'larla ilgileniyor, indekslere ise neredeyse hiç bakmıyor. Araçlara ilgi duyan kişiler “geliştirici DBA” olarak anılıyor, çok nadir bulunuyor, bu yüzden işe alımları zor ve iş değiştirme oranları yüksek oluyor.
  • JetBrains'in VSCode karşısındaki net üstünlüklerinden biri, temiz ve yerleşik DB araçları sunması.

    • Her yıl en az bir kez VSCode'a dönmeyi deniyorum ama JetBrains'in güçlü git ve DB entegrasyonu beni hep geri çekiyor.
    • DataGrip'i ayrı kullanmak da mümkün; ben de bunu yapıyorum.
  • 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ı?

    • Postico daha çok Mac odaklı ve IntelliJ'nin yerleşik DB editörü özellik bakımından çok daha zengin.
    • Postico'yu 10 yılı aşkın süredir kullanan biri olarak bunu da deneyeceğim. node-pg ile kullanırken Copilot'un şemayı anlayabilmesini umuyorum.
  • Ş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.

    • Geliştiriciye ulaşma açısından açık ara VSCode önde. MS ekosistemine özel ilginiz olmasa bile .Net geliştiricileri arasında Rider kullanımı artıyor ve Visual Studio daha çok Eclipse/Netbeans gibi değişimin zor olduğu ortamlarda kalıyor. Ben emacs kullanıcısıyım ama SQL Server'ı Windows dışı ortamda kullanırken mecburen VSCode açıyorum.
    • Karlılık açısından Visual Studio çok daha yukarıda olabilir. Kurumsal iş akışlarının ve eklentilerin önemli bir kısmı VSCode'a taşınmayacaktır. Ama MS ekosistemine giriş kapısı olması, akıldaki yerini güçlendirmesi ve web IDE'ye genişleme potansiyeli gibi alanlarda VSCode önde. Tüm bu avantajlara rağmen Electron shell'in sınırları da can sıkıcı.
    • Açık ara VSCode. Ücretsiz olmasına rağmen MS ekosistemine giriş kapısı görevi görüyor ve Microsoft'un geliştirici pazarında kalmasını sağlıyor.
    • Oyun sektöründe Visual Studio hâlâ çok yaygın ve bazı platformları hedeflerken zorunlu. Rider giderek yaygınlaşıyor ama build sisteminin bir parçası olarak VS yine kullanılıyor.
    • VSCode'un sizi sonra Visual Studio'ya geçirip “gerçek geliştirici” yapacağı şeklinde hiçbir zaman bir pazarlama yoktu. Python/HTML/JavaScript gibi şeyler zaten VS'de düzgün çalışmıyordu, dolayısıyla ortada gerçek bir geçiş yolu da yoktu.
  • Microsoft Access ile PostgreSQL'in yaklaşık 30 yıl sonra yeniden buluşması gibi mi bu?

    • Access tarafında kaçırdığım bir nokta varsa söyleyin. DBeaver'dan daha iyi bir alternatif varsa gerçekten duymak isterim.
  • 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.

    • VSCode zaten çoklu monitör desteği sunuyor, resmî belgeler burada.
    • VSCode'da sekmeleri ayrı pencerelere ayırıp birden fazla monitöre yerleştirebiliyorsunuz. Terminal için de geçerli. Arayüz çok sezgisel değil ama alışınca gerçekten güzel. Hatta kodu ve terminali yan yana farklı pencerelerde kullanmak da mümkün. (Bu arada emacs bunu yıllardır yapabiliyordu.)
    • Bunu daha dün öğrendim: sekmeleri yeni pencereye ayırabiliyorsunuz. Tam anlamıyla doğal bir çoklu monitör deneyimi değil ama en azından iki monitöre yayılabiliyor, aklınızda olsun.
    • Donanımla çözmek de bir seçenek: tek bir 38 inç ultrawide monitör almak.