Kurs
Daha fazla iş yükü buluta taşındıkça, PostgreSQL’i verimli ve güvenli biçimde yönetmenin veri profesyonelleri için temel bir yetkinlik haline geldiğini görüyorum.
PostgreSQL uzun süredir başvurduğum ilişkisel veritabanlarından biri. Güvenilir, genişletilebilir ve açık kaynak topluluğu tarafından destekleniyor.
Ancak bunu bulutta—özellikle ölçekli olarak—çalıştırmak; yüksek erişilebilirlik, performans ayarı, maliyet optimizasyonu ve katı güvenlik gereksinimlerini karşılama gibi kendine özgü zorluklar getiriyor.
Azure Database for PostgreSQL, tamamen yönetilen, ölçeklenebilir ve güvenli bir platform sunarak bu sorunların çoğunu çözüyor. Deneyimlerime göre, dağıtım ve işletimi basitleştirirken hızlı oluşturma ve gelişen taleplere uyum sağlama esnekliği veriyor. Bu nedenle, bu eğitimde bir Azure PostgreSQL veritabanını dağıtma konusunda bilmeniz gereken her şeyi ele alacağım.
> PostgreSQL’in temelleri ve nasıl çalıştığıyla tanışmak için, PostgreSQL Nedir? Nasıl Çalışır, Kullanım Alanları ve Kaynaklar yazısına göz atın.
Azure Database for PostgreSQL’e Genel Bakış
Azure Database for PostgreSQL, Microsoft tarafından sunulan bulut yerel, tamamen yönetilen bir PostgreSQL hizmetidir.
Hem küçük ölçekli hem kurumsal düzeyde iş yükleri için tasarlanmıştır; veritabanı altyapısının manuel sağlanması, yapılandırılması, yamalanması ve bakımı ihtiyacını ortadan kaldırır.
Güvenilir Azure platformu üzerine kurulu olup, farklı iş yükleri ve uygulama mimarilerine uyacak şekilde tek sunucu, esnek sunucu ve Hyperscale (Citus) olmak üzere üç ayrı dağıtım modelini destekler.
Azure PostgreSQL’in başlıca avantajlarından bazıları şunlardır:
- Otomatik yamalama ve yedeklemeler: Azure, özelleştirilebilir saklama ile günlük yedeklemeleri otomatikleştirir ve kesinti olmadan güvenlik yamalarını ve güncellemeleri uygular.
- Kurumsal düzeyde güvenlik ve uyumluluk: Bekleme ve aktarım halinde şifreleme, rol tabanlı erişim denetimi, özel uç noktalar gibi özellikleri destekler ve sektör sertifikasyonlarına (ör. SOC, HIPAA, GDPR) uygundur.
- Derin Azure ekosistemi entegrasyonu: Azure Data Factory, Azure Monitor, Azure Active Directory, Power BI ve diğer hizmetlerle kesintisiz bağlanır; geliştirmeyi hızlandırır ve bütünsel gözlemlenebilirlik sağlar.

Azure PostgreSQL’in başlıca avantajlarını gösteren görsel. Napkin AI kullanılarak oluşturuldu.
Dağıtım Modelleri ve Mimari Çerçeveler
Azure Database for PostgreSQL, uygulamanızın ölçeklenebilirlik, kullanılabilirlik ve performans ihtiyaçlarına en uygun mimariyi seçmenizi sağlayan birden fazla dağıtım modelini destekler.
Esnek sunucu dağıtımı
Esnek sunucu dağıtım modeli, kaynak yapılandırması, kullanılabilirlik ve performans ayarı üzerinde ince ayar kontrolü sunan en esnek seçenektir.
Yüksek çalışma süresi ve öngörülebilir performans gerektiren kritik uygulamalar için uygundur.
Yüksek Erişilebilirlik (HA)
Hizmet sürekliliğini sağlamak ve kesintiyi en aza indirmek için aşağıdaki yüksek erişilebilirlik yapılandırmalarını göz önünde bulundurmalısınız:
- Aynı Bölge HA: Bir bekleme kopyasını birincil ile aynı Kullanılabilirlik Bölgesine dağıtır. Daha hızlı geçiş süreleri ve en düşük ağ gecikmesiyle yedeklilik sağlar.
- Bölgeye Dayanıklı HA: Birincil ve bekleme düğümlerini farklı Kullanılabilirlik Bölgelerine dağıtır; bölge genelindeki kesintilere karşı dayanıklılık sunar.
Ölçekleme ve optimizasyon
Performans ve maliyet verimliliğini sağlamak için dinamik kaynak yönetimi ve iş yükü ayarı için şu stratejileri uygulayın:
- Dikey işlem ölçekleme: vCore ve belleği iş yükü talebine göre dinamik olarak ayarlayın. Mevsimsel sıçramalar veya boşta kalma dönemlerinde maliyet tasarrufu için kullanışlıdır.
- Otomatik durdur/başlat: Maliyetleri azaltmak için yoğun olmayan saatlerde sunucu kapatmalarını zamanlayın.
- Depolama otomatik ölçekleme: Veriniz büyüdükçe disk boyutunu otomatik olarak genişletir; manuel yeniden tahsisi ortadan kaldırır.
- IOPS ayarı: Okuma ağırlıklı veya yazma yoğun uygulamalar için gecikmeyi azaltmaya yardımcı olacak şekilde depolama IOPS’unu iş yükü talepleriyle hizalayın.
HA etkin esnek sunucu nasıl dağıtılır
Yüksek Erişilebilirlik (HA) etkin bir ‘esnek sunucu’ dağıtmak için şu adımları izleyin:
01: Azure Portal’a gidin, Azure Database for PostgreSQL esnek sunucuları açın ve ‘oluştur’a tıklayın.
Aşağıdaki görseller bu adımı göstermektedir.
Azure Portal arayüzünde yeni bir PostgreSQL esnek sunucu oluşturma adımlarını gösteren ekran görüntüsünü içeren görsel (01).
Azure Portal arayüzünde yeni bir PostgreSQL esnek sunucu oluşturma adımlarını gösteren ekran görüntüsünü içeren görsel (02).
02: ‘Yüksek erişilebilirlik’ altında ‘Aynı bölge’ veya ‘Bölgeye dayanıklı’yı seçin.
Aşağıdaki görsel bu adımı göstermektedir.
Esnek sunucu oluşturma ekran görüntüsünü içeren ve ‘Aynı bölge’ ile ‘Bölgeye dayanıklı’ seçeneklerini gösteren görsel.
03: vCore, depolama boyutu ve IOPS ayarlarını yapılandırın.
04: Ağ yapılandırmasını tamamlayın (örn. VNet veya genel erişim) ve dağıtın.
‘Ağ’ yapılandırma sayfasının ekran görüntüsünü içeren görsel.
Tek sunucu dağıtımı
Tek sunucu modeli sadelik ve hızlı kurulum için tasarlanmıştır.
Otomatik yedeklemeler, temel performans ayarları ve minimum yapılandırma yükü sağlar.
Geliştirme, test veya daha küçük üretim iş yükleri için idealdir.
Mevcut katmanlar
Mevcut katmanlardan bazıları şunlardır:
- Basic: Geliştirme/test veya hafif uygulamalar için uygundur.
- General purpose: Standart iş yükleri için dengeli işlem ve bellek.
- Memory optimized: Önbellek yoğun iş yükleri için geliştirilmiş bellek/çekirdek oranı.
Tek sunucu nasıl oluşturulur
01: Azure Portal’da Azure Database for PostgreSQL sunucularına gidin ve ‘oluştur’a tıklayın.
Azure Portal arayüzünde yeni bir PostgreSQL tek sunucu oluşturma adımlarını gösteren ekran görüntüsünü içeren görsel.
02: İş yükü gereksinimlerine göre bir fiyatlandırma katmanı seçin.
En güncel katmanlar ve fiyatlandırma bilgileri için Azure fiyatlandırma sayfasına bakın.
Azure fiyatlandırma sayfasının ekran görüntüsü.
03: Yönetici kimlik bilgilerini ayarlayın, güvenlik duvarı kurallarını yapılandırın ve dağıtın.
> PostgreSQL’e yeniyseniz, buluta dağıtmadan önce veritabanlarıyla çalışmaya başlamak için PostgreSQL’e Başlangıç Rehberi iyi bir başlangıç noktasıdır.
Hyperscale (Citus) uzantısı
Hyperscale (Citus) dağıtım modeli, dağıtık PostgreSQL kullanım senaryoları için tasarlanmıştır.
Verileri işçi düğümleri arasında parçalayarak ve sorguları verimli biçimde koordine ederek tek düğümlü bir veritabanını yatay olarak ölçeklenebilir bir kümeye dönüştürür.
Başlıca kullanım örneklerinden bazıları şunlardır:
- Gerçek zamanlı analitik: Milyarlarca satır üzerinde milisaniye gecikmelerle eşzamanlı sorgular çalıştırın.
- Çok kiracılı SaaS uygulamaları: İş yüklerini izole etmek ve performansı korumak için kiracıları parçalara dağıtın.
Bir tablo nasıl oluşturulur ve dağıtılır
01: Azure Portal’da bir Hyperscale (Citus) sunucu grubu oluşturun. Bu, Citus uzantısını kullanarak dağıtık bir PostgreSQL kümesi kurar.
02: psql veya Azure Data Studio gibi bir araçla koordinatör düğüme bağlanın.
Dağıtık tablo komutları koordinatörden çalıştırılması gerektiğinden bir işçiye değil, koordinatör düğüme bağlandığınızdan emin olun.
03: SQL ile tabloyu oluşturun (zaten yoksa):
CREATE TABLE your_table_name (
id SERIAL PRIMARY KEY,
distribution_column INT,
... other columns ...
);
04: Tabloyu şu komutla dağıtın:
SELECT create_distributed_table('your_table_name', 'distribution_column');
'your_table_name' ifadesini gerçek tablo adınızla ve 'distribution_column' ifadesini iyi bir kardinaliteye sahip ve sorgularda sık kullanılan bir sütunla değiştirin.
Doğru dağıtım modelini seçme
Aşağıdaki tablo yaygın kullanım durumlarına göre önerilen dağıtım modellerini özetler.
| Kullanım Durumu | Önerilen Model |
|---|---|
| Düşük maliyetli geliştirme/test | Tek sunucu |
| Büyük ölçekli, çok kiracılı analitik | Hyperscale (Citus) |
| Değişken yükte genel amaçlı uygulamalar | Esnek sunucu |
Doğru dağıtım modelini seçmek, uygulamanızın iş yükü özelliklerine, yüksek erişilebilirlik ihtiyaçlarına ve performans beklentilerine bağlıdır.
> PostgreSQL’in projeniz için doğru seçim olup olmadığından emin değilseniz, PostgreSQL vs. MySQL: Projeniz İçin Doğru Veritabanını Seçmek ve SQLite vs PostgreSQL: Ayrıntılı Karşılaştırma yazılarına göz atın.
Güvenlik ve Uyumluluk Mimarisi
Azure Database for PostgreSQL örneğinizi güvence altına almak; hassas verileri korumak, iş sürekliliğini sağlamak ve düzenleyici uyumluluğu sürdürmek için kritik önemdedir.
Azure, kimlik yönetimini uygulamaya, ağ erişimini güvenceye almaya ve sektör standartlarıyla uyumu sağlamaya yardımcı olan güçlü yerleşik yetenekler sunar.
Kimlik doğrulama mekanizmaları
Kimlik doğrulama, PostgreSQL veritabanınıza erişimi güvence altına almanın ilk savunma hattıdır.
Azure Active Directory (AAD) entegrasyonu
Azure AD, PostgreSQL dahil Azure kaynaklarına erişimi ve kullanıcıları merkezi olarak yönetmenizi sağlar.
Yerel sunucu kullanıcılarını yönetmekten daha güvenlidir ve çok faktörlü kimlik doğrulama, koşullu erişim ve kullanıcı yaşam döngüsü yönetimini etkinleştirir.
Bir örnek mimariye bakalım:
Mevcut kimlik altyapınızı buluta genişletmek için şirket içi Active Directory etki alanınızı Azure AD ile entegre edebilirsiniz.
Aşağıdaki görsel tipik bir hibrit kimlik mimarisini göstermektedir:
Şirket içi Active Directory’nin Azure Active Directory (Azure AD) ile entegre edildiği hibrit kimlik mimarisini gösteren görsel. Kaynak: Microsoft Azure Architecture
AAD kimlik doğrulamayı etkinleştirmek için:
01: PostgreSQL sunucusunu AAD ile kaydedin:
- Azure Portal’ı açın.
- Azure Database for PostgreSQL esnek sunucularına gidin.
- Ayarlar altında ‘Active Directory yöneticisi’ne tıklayın.
- ‘Yönetici ayarla’ya tıklayın, bir kullanıcı/grup arayın, ardından ‘Kaydet’e basın.
02: Azure CLI ile AAD yöneticisi ayarlayın (isteğe bağlı):
az postgres flexible-server ad-admin create \
--resource-group <your-resource-group> \
--server-name <your-server-name> \
--display-name <aad-user-name> \
--object-id <aad-user-object-id>
03: psql ile bağlanın:
psql "host=<your-postgres-host> dbname=<your-db> user=<aad-user>@<tenant>.onmicrosoft.com sslmode=require"
SCRAM-SHA-256 kimlik doğrulama
Azure PostgreSQL, artık geçerliliğini yitirmiş MD5’i geride bırakan, modern ve güvenli bir parola tabanlı kimlik doğrulama mekanizması olan SCRAM-SHA-256’yı destekler.
Bunu PostgreSQL sunucu parametrelerinde etkinleştirin:
- Azure portalında esnek sunucu altında ‘sunucu parametreleri’ bölümüne gidin.
password_encryptionifadesini arayın vescram-sha-256olarak ayarlayın.- Değişiklikleri kaydedin ve gerekirse sunucuyu yeniden başlatın.
Satır Düzeyinde Güvenlik (RLS)
RLS’yi kullanarak, belirli kullanıcıların yalnızca bir tablonun belirli satırlarını görmesine veya değiştirmesine izin veren ayrıntılı erişim denetimi ilkeleri tanımlayın.
RLS nasıl etkinleştirilir:
01: Veritabanınıza bağlanın ve şunu çalıştırın:
ALTER TABLE employees ENABLE ROW LEVEL SECURITY;
02: Bir ilke oluşturun:
CREATE POLICY employee_policy
ON employees
USING (user_email = current_user);
Ağ koruması
Azure Database for PostgreSQL’inizi ağ düzeyinde korumak; yetkisiz erişimi önlemek ve saldırı yüzeyini azaltmak için esastır.
Azure, trafiği izole etmek ve erişim denetimini uygulamak için çeşitli yerleşik ağ özellikleri sağlar.
01: Özel uç noktaların kullanımı
Özel uç noktalar, PostgreSQL sunucunuza yalnızca Azure Sanal Ağınız içinde erişilmesini sağlar; genel erişimi ortadan kaldırır.
Özel bir uç nokta yapılandırmak için:
01: Azure portalına gidin ve PostgreSQL esnek sunucunuzu seçin
02: ‘Ayarlar’ altında ‘Ağ’a tıklayın.
03: ‘Özel erişim (VNet entegrasyonu)’nu seçin.
04: ‘Özel Uç Nokta Ekle’ye tıklayın.
05: Bir ad verin ve kaynak grubunuzu ile VNet/alt ağınızı seçin.
06: Özel DNS Entegrasyonunu seçin (önerilir).
07: Özel uç noktayı gözden geçirin ve oluşturun.
Aşağıdaki görseller, özel uç nokta kurulumunun Azure portalındaki başlıca adımlarından bazılarını göstermektedir.
Özel uç noktayı yapılandırma adımlarını gösteren Azure portal ekran görüntüsünü içeren görsel (01).
Özel uç noktayı yapılandırma adımlarını gösteren Azure portal ekran görüntüsünü içeren görsel (02).
02: Ağ Güvenlik Grupları (NSG)
NSG’ler, ağ arayüzlerine ve alt ağlara gelen ve giden trafiği denetler. Yalnızca güvenilen IP’lerin bağlantı kurmasına izin vermek için kullanın.
Özel uç noktanız için NSG’leri yapılandırmak üzere:
01: Özel uç noktanızın bulunduğu alt ağa gidin.
02: Bir NSG ekleyin ve şu kuralları tanımlayın:
- Kuruluşunuzun IP aralıklarına yalnızca izin verin.
- Diğer tüm gelen bağlantıları reddedin.
03: Bölgeler Arası Eşleme
Küresel uygulamalar için, sanal ağlar arasında trafiği güvenli şekilde yönlendirmek üzere Azure bölgeleri arasında VNet Eşlemesi kullanın.
Azure portalında bölgeler arası eşlemeyi ayarlamak için:
01: Azure portalında ‘Sanal ağlar’a gidin ve ‘Eşlemeler’i seçin.
02: ‘Ekle’ye tıklayın ve uzak sanal ağı (VNet) seçin.
03: ‘Bölgeler arası bağlantı için uzak ağ geçitlerini kullan’ı etkinleştirin.
Uyumluluk sertifikaları
Azure Database for PostgreSQL, geniş bir sektör ve kamu standardı yelpazesiyle uyumludur; bu da veri korumasını ve yasal uyumu güvence altına alır:
Sertifikalardan bazıları şunlardır:
- GDPR
- HIPAA
- SOC 1/2/3
- ISO/IEC 27001, 27018
- FedRAMP, PCI-DSS
Uyumluluk durumunu Microsoft Trust Center üzerinden görüntüleyebilir ve bölgeniz veya sektörünüzle ilgili uyumluluk raporlarını indirebilirsiniz.
Performans Optimizasyonu ve İzleme
Üretim iş yükleri için performansı ve güvenilirliği en üst düzeye çıkarmak kritiktir.
Azure, PostgreSQL sunucunuzun en iyi şekilde çalışmasını sağlamak için akıllı ayar, gerçek zamanlı izleme ve uyarı araçları sağlar.
Akıllı ayar
Azure, yerleşik analitik ve optimizasyon araçlarıyla proaktif performans iyileştirmesi sağlar.
Kullanım örnekleri arasında otomatik ölçekleme, iş yükü dağıtımı ve depolama performansı iyileştirmesi bulunur.
Performans önerileri için Azure Advisor’ı kullanın
Azure Advisor telemetri verilerini analiz eder ve en iyi uygulamaları önerir.
Performans önerilerini uygulamak için:
01: Azure Portal’a gidin ve ‘Azure Advisor’ı seçin.
02: ‘Öneriler’e, ardından ‘Performans’a tıklayın.
03: PostgreSQL esnek sunucunuzu bulun.
04: Şu önerileri uygulayın:
- vCore’ları ölçekleme
- IOPS’i artırma
- Okuma kopyaları kullanma
Okuma kopyası oluşturma
Okuma ağırlıklı iş yüklerini kopyalara yönlendirerek hafifletin. Bunu yapmak için:
01: Azure portalında PostgreSQL sunucunuzu seçin.
02: ‘Ayarlar’ altında ‘Kopyalar’ı seçin.
03: ‘Kopya Ekle’ye tıklayın, bölgeyi seçin ve oluşturun.
04: Uygulamanızda salt okunur uç noktaları kullanın.
İzleme çerçevesi
Azure Monitor, PostgreSQL kaynaklarınızın sağlık ve kullanımına derin görünürlük sağlar.
İzlenecek temel metrikler
- CPU kullanımı
- Bellek kullanımı
- Disk G/Ç ve IOPS
- Sorgu yürütme süresi
- Aktif bağlantılar
- Bağlantı hataları
Metrikleri görüntülemek için:
Adım 01: Azure portalına gidin ve Monitor’ü açın.
Adım 02: ‘Metrikler’e tıklayın ve PostgreSQL esnek sunucunuzu seçin.
Adım 03: Bir metrik seçin (örn., CPU %).
Adım 04: Filtreler uygulayın ve birleştirme türünü ayarlayın (örn., ortalama, maksimum).
Adım 05: Görsel grafikler oluşturun veya panolara sabitleyin.
Uyarı kuralları oluşturma
Uyarılar, kullanıcıları etkilemeden önce performans anormalliklerine müdahale etmenize yardımcı olur.
Uyarı oluşturmak için:
Adım 01: Azure portalında Monitor’e gidin ve ‘Uyarılar’ı seçin.
Adım 02: ‘Yeni Uyarı Kuralı’na tıklayın.
Adım 03: PostgreSQL kaynağınızı seçin.
Adım 04: Bir koşul seçin, örn., CPU usage > 80%.
Adım 05: Değerlendirme süresini ve sıklığını ayarlayın.
Adım 06: Bir eylem grubu tanımlayın (e-posta, webhook, Logic App).
Adım 07: Uyarıya ad verin ve oluşturun.
Temel Performans Göstergeleri (KPI)
KPI’leri izlemek, sisteminizin sağlıklı olduğunu ve SLA’leri karşıladığını güvence altına alır:
|
KPI |
Açıklama |
|
CPU Kullanımı |
En iyi performans için %75’in altında kalmalıdır |
|
Bellek kullanımı |
Yüksek kullanım yavaş sorgulara veya OOM sonlandırmalarına yol açabilir |
|
Sorgu süresi |
Sorgu performans günlüklerini kullanarak yavaş sorguları izleyin |
|
Aktif bağlantılar |
Eşzamanlı kullanıcı yükünü gösterir |
|
Depolama kullanımı |
Otomatik ölçekleme tetiklenme zamanını öngörmeye yardımcı olur |
Bu KPI’leri Azure Monitor Metrics üzerinden görüntüleyip analiz edebilirsiniz.
Geçiş ve Entegrasyon Kalıpları
Doğru araçlar ve stratejiyle Azure Database for PostgreSQL’e veritabanı geçişleri sorunsuz olabilir.
Azure, çevrimiçi ve çevrimdışı geçişi, birden çok kaynak sistemi ve yapay zekâ ile geliştirme araçlarıyla entegrasyonu destekler.
> PostgreSQL ile gerçek dünya geliştirme ortamlarında çalışmaya yönelik uygulamalı bir eğitim isterseniz, Python’da PostgreSQL Kullanımı yazısını okuyun.
Database Migration Service (DMS)
Azure Database Migration Service (DMS), çeşitli veritabanı platformlarından (şirket içi veya bulut) Azure PostgreSQL’e güvenli ve yönlendirmeli geçişi kolaylaştırır.
Aşağıdaki görsel, desteklenen geçiş senaryolarını ve platformları göstermektedir:
Azure Database Migration Service (DMS) diyagramı. Kaynak: Microsoft Products
DMS kullanarak geçiş gerçekleştirme
01: Bir DMS örneği oluşturun:
- Azure portalına gidin ve ‘Database Migration Services’i arayın.
- ‘Oluştur’a tıklayın; aboneliğinizi, kaynak grubunuzu ve bölgenizi seçin.
- ‘Integration Runtime (IR)’ seçin ve bir IR oluşturun veya mevcut IR’ı kullanın.
02: Bir geçiş projesi oluşturun:
- DMS örneğiniz içinde ‘Yeni Geçiş Projesi Ekle’ye tıklayın.
- Bir ad verin ve şunları ayarlayın:
- Kaynak sunucu türü: PostgreSQL
- Hedef sunucu türü: Azure Database for PostgreSQL
- Geçiş etkinliği türü: Çevrimiçi veya Çevrimdışı
03: Kaynak ve hedef sunucuları tanımlayın:
- Kaynak PostgreSQL sunucusu (şirket içi, AWS RDS, vb.) için bağlantı ayrıntılarını girin.
- Hedef Azure PostgreSQL esnek sunucusu için kimlik bilgilerini girin.
04: Geçişi çalıştırın ve izleyin:
- Taşınacak veritabanlarını/şemaları seçin.
- Tablo eşlemeyi ve isteğe bağlı veri dönüşümünü yapılandırın.
- Geçişi başlatın ve ilerlemeyi Azure portalından izleyin.
Şirket içinden veya diğer bulutlardan geçiş
Daha küçük veya tek seferlik geçişler için, PostgreSQL’in yerel araçları olan pg_dump ve pg_restore’u kullanabilirsiniz.
CLI ile çevrimdışı geçiş
Şirket içi veya diğer bulut PostgreSQL veritabanından Azure’a çevrimdışı bir geçiş yapmak için şu adımları izleyin:
01: Veritabanını kaynaktan dışa aktarın:
pg_dump -Fc --no-acl --no-owner -h <source-host> -U <source-user> dbname > db.dump
02: Azure PostgreSQL’e içe aktarın:
pg_restore -h <azure-host> -U <azure-user> -d <target-db> db.dump
Büyük veritabanlarında daha hızlı performans için pg_restore ile --jobs bayrağını kullanmanızı öneririz.
Oracle’dan PostgreSQL’e geçiş
Oracle’dan PostgreSQL’e geçmek için, Oracle şemalarını PostgreSQL uyumlu sözdizimine dönüştürmek üzere Ora2Pg kullanabilirsiniz. Şu adımları izleyin:
01: Ora2Pg’yi kurun.
02: ora2pg.conf dosyasını Oracle kimlik bilgilerinizle yapılandırın.
03: Şu komutları çalıştırın:
ora2pg -c ora2pg.conf -o schema.sql
psql -h <azure-host> -U <user> -d <dbname> -f schema.sql
> Geçiş sonrası veritabanlarını yönetme becerinizi güçlendirmek için PostgreSQL’de Veritabanı Yönetimi yazısına göz atın.
Yapay Zekâ Entegrasyon Yetenekleri
Azure PostgreSQL, pgvector uzantısını kullanarak yapay zekâ iş yüklerini etkinleştirir ve Azure Cognitive Services ile entegre olabilir.
pgvector’ü etkinleştirmek ve kullanmak için:
CREATE EXTENSION IF NOT EXISTS vector;
02: Vektör sütunları oluşturup kullanın:
CREATE TABLE embeddings (
id SERIAL PRIMARY KEY,
description TEXT,
embedding vector(1536)
);
03: Vektörleri ekleyin ve arayın:
INSERT INTO embeddings (description, embedding)
VALUES ('example', '[0.1, 0.2, 0.3, 0.4]');
SELECT * FROM embeddings
ORDER BY embedding <-> '[0.1, 0.2, 0.3, 0.4]'
LIMIT 5;
04: Yapay zekâ hizmetleriyle entegre edin:
- Azure OpenAI, Cognitive Search veya Azure ML kullanarak gömlemeler oluşturun.
- PostgreSQL’de pgvector kullanarak bunları depolayın ve sorgulayın.
Maliyet Optimizasyon Teknikleri
Azure, PostgreSQL altyapı ve operasyon maliyetlerini azaltmak için çeşitli stratejiler sunar.
Esnek sunucu fiyatlandırması
Esnek sunucu fiyatlandırma seçenekleriyle maliyetleri optimize etmek için şu yönergeleri izleyin:
01: Geliştirme veya düşük CPU’lu iş yükleri için Patlamalı SKU’ları (örn., B1ms) kullanın.
- Azure portalında PostgreSQL’e gidin ve ‘Fiyatlandırma katmanı’nı seçin.
- ‘Patlamalı’yı seçin.
02: Rezerve kapasite:
- 1 veya 3 yıllık kullanım taahhüdü vererek %60’a varan tasarruf sağlayın.
- Azure portalından ‘Rezervasyonlar’a giderek, ‘Ekle’ye tıklayıp ‘PostgreSQL esnek sunucu’yu seçerek satın alın.
Hyperscale (Citus) ekonomisi
Hyperscale, verimi artırmak için yatay parçalamayı kullanır.
Faydaları şunlardır:
- Düğümler arasında yük dengeleme
- Daha iyi kaynak izolasyonu
- Sıkıştırma yoluyla depolama verimliliği
Hyperscale’i etkinleştirmek için Azure portalında ‘Kaynak Oluştur’u seçin ve ‘Azure Database for PostgreSQL (Hyperscale, Citus)’ seçeneğini seçin.
Depolama ve yedekleme maliyet yönetimi
Depolama ve yedekleme maliyetlerini etkin biçimde yönetmek için şu adımları göz önünde bulundurun:
Anlık görüntü saklamayı gözden geçirin:
- Azure varsayılan olarak günlük yedeklemeleri tutar.
- ‘Sunucu ayarları’na, ardından ‘Yedeklemeler’e gidin ve ‘Saklama Süresi’ni ayarlayın (varsayılan 7–35 gündür).
Azure Fiyatlandırma Hesaplayıcısı ile maliyetleri tahmin edin:
- Azure Pricing Calculator.
- PostgreSQL esnek sunucuyu ekleyin, bölge, SKU, yedek saklama ve IOPS’u seçin.
PostgreSQL Sürümlerinin ve Yükseltmelerinin Yönetimi
Ortamınızı düzenli olarak güncellemeler uygulayarak güvenli ve destekli tutun.
Desteklenen sürümler ve yaşam döngüsü politikası
Desteklenen PostgreSQL sürümlerini ve yaşam döngüsü politikasını anlamak, güvenli ve destekli bir ortam sürdürmek için önemlidir:
- Azure, PostgreSQL 11–16 sürümlerini destekler.
- Sürüm desteği PostgreSQL topluluğunun EOL politikasıyla uyumludur.
- Destek ve güvenliği sürdürmek için EOL’den önce yükseltmeleri planlayın.
Yükseltme ve yamalama
PostgreSQL esnek sunucunuzu yükseltme ve yamalama; güncelleme türüne bağlı olarak otomatik ve manuel süreçler içerir:
- Küçük sürüm güncellemeleri otomatik olarak uygulanır.
- Büyük yükseltmeler manuel adımlar gerektirir:
Yükseltme adımları:
01: Mevcut veritabanını yedekleyin:
pg_dumpall -h <current-host> -U <user> > backup.sql
02: Azure Portal’dan istediğiniz PostgreSQL sürümünde yeni bir sunucu oluşturun.
03: Yedeği yeni sunucuya geri yükleyin:
psql -h <new-host> -U <user> -f backup.sql
04: Uygulamanızda veya ortam değişkenlerinizde bağlantı dizelerini güncelleyin.
Geliştirme Ekosistemi
Azure PostgreSQL, modern DevOps ve konumsal iş yüklerini destekler.
Kod Olarak Altyapı (IaC)
Tekrarlanabilir, otomatik sağlama için Terraform kullanın. İşte Azure PostgreSQL esnek sunucusu oluşturmak için örnek bir Terraform betiği:
resource "azurerm_postgresql_flexible_server" "example" {
name = "mypgflexserver"
resource_group_name = "myrg"
location = "East US"
administrator_login = "pgadmin"
administrator_password = "password123!"
sku_name = "Standard_B1ms"
version = "14"
}
Kaynağı oluşturmak için terraform init → terraform plan → terraform apply komutlarını çalıştırın.
> Daha fazla bilgi için Azure ile Terraform kullanma konulu kapsamlı rehberimize göz atın.
PostGIS ile coğrafi yetenekler
PostGIS, PostgreSQL’i mekânsal ve coğrafi sorgular için genişletir.
PostGIS’i etkinleştirmek için:
CREATE EXTENSION postgis;
Konum tabanlı uygulamalar, haritalama, rota optimizasyonu ve sanal çit (geofencing) için kullanın.
Popüler uzantılar ve entegrasyonlar
Gözlemlenebilirliği ve zamanlamayı iyileştirmek için güçlü PostgreSQL uzantılarını etkinleştirin:
|
Uzantı |
Amaç |
|
pg_stat_statements |
Sorgu performansını izleyin ve analiz edin |
|
uuid-ossp |
UUID üretin |
|
postgis |
Coğrafi sorgular |
|
pg_cron |
SQL içinde arka plan işleri zamanlayın |
İstediğiniz uzantıları etkinleştirmek için Azure Portal’a gidin ve PostgreSQL esnek sunucunuza geçin.
Buradan Sunucu Parametreleri bölümüne erişin, azure.extensions ayarını bulun, gerekli uzantıları virgülle ayrılmış bir liste olarak ekleyin ve değişiklikleri kaydedin.
Sonuç
Azure Database for PostgreSQL, bulutta PostgreSQL’i kurumsal düzeyde güvenilirlik, güvenlik ve performansla dağıtmanıza, ölçeklendirmenize ve yönetmenize olanak tanır.
Bulut talepleri geliştikçe, Azure’un güçlü ekosisteminden ve PostgreSQL’in kanıtlanmış güvenilirliğinden yararlanmak uygulamalarınızın çevik, uyumlu ve maliyet etkin kalmasını sağlayacaktır.
Bilginizi derinleştirmek isterseniz, Azure Fundamentals beceri yoluna göz atmanızı şiddetle öneririm. İyi öğrenmeler!

