Ana Sayfa

PostgreSQL Geliştirme Ortamı: VS Code İçin Hazır Konteyner

1 dk okuma

pg-dev-container, Visual Studio Code (VS Code) kullanıcıları için özel olarak tasarlanmış, çalışmaya hazır bir PostgreSQL geliştirme konteyneridir. Bu proje, PostgreSQL'i hata ayıklama ve uzantılarını geliştirme süreçlerini kolaylaştırmak amacıyla gerekli tüm araçları ve optimize edilmemiş, hata denetimleri (assertion) etkinleştirilmiş ve hata ayıklama sembolleri içeren özel bir PostgreSQL sürümünü barındırır. Bu yapı, üretim ortamındaki sürümlere göre daha yavaş olsa da, USE_ASSERT_CHECKING gibi özellikler sayesinde programlama hatalarını yakalamaya yardımcı olur ve CLOBBER_FREED_MEMORY ile serbest bırakılan belleği erken temizleyerek geliştirme sürecini daha güvenli hale getirir. Eksik optimizasyonlar ve oluşturulan hata ayıklama sembolleri, bir hata ayıklayıcının (debugger) bu PostgreSQL örneğine kolayca bağlanmasını sağlar.

Konteyneri kullanmak için belirli ön koşulların karşılanması gerekir. Ardından, VS Code projesi açıldığında, projenin konteyner içinde yeniden açılması seçeneği onaylanmalıdır. VS Code, gerekli temel konteyner imajını indirir, araçları yükler ve PostgreSQL'i derler; bu işlem biraz zaman alabilir. Konteyner hazırlandıktan sonra, PostgreSQL kaynak kodunu VS Code'a eklemek, kod üzerinde gezinme ve tam metin arama yapma imkanı sunar. Bunun için entegre terminalde code --add /usr/local/src/postgresql komutunun çalıştırılması yeterlidir.

Geliştirme konteyneri, çalıştırıldığında PostgreSQL sunucusunu otomatik olarak başlatır. Entegre terminal aracılığıyla, createdb komutuyla bir veritabanı oluşturduktan sonra bu sunucuya bağlanılabilir ve SQL sorguları çalıştırılabilir. Konteyner ayrıca, hello_world(TEXT) fonksiyonunu sağlayan basit bir hello_world PostgreSQL uzantısını da içerir. Bu uzantının kaynak kodu src/extension/01_hello_world/ dizininde bulunur. Uzantıyı kurmak ve test etmek için ilgili dizine geçip make ile derlemek ve ardından sudo make install ile kurmak yeterlidir. Bu sayede geliştiriciler, kendi uzantılarını kolayca test edebilir ve hata ayıklayabilirler.

İçgörü

Bu konteyner, PostgreSQL uzantıları geliştiren veya çekirdek PostgreSQL üzerinde çalışan geliştiriciler için hızlı ve hata ayıklamaya hazır bir ortam sunarak geliştirme süreçlerini önemli ölçüde hızlandırır ve kolaylaştırır.

Kaynak