Two databases connected by a data bridge

Oracle ve SQL Server’dan PostgreSQL’e Geçiş: Maliyet, Risk ve Uygunluk Analizi

Oracle veya SQL Server’dan PostgreSQL’e geçiş ne zaman mantıklıdır? Lisans tasarrufu ve geçiş maliyeti, teknik farklar, karmaşıklık analizi, araçlar ve geçiş aşamaları.

Kasım 10, 2026

Oracle veya SQL Server’dan PostgreSQL’e geçiş, lisans maliyetini ortadan kaldırabilecek stratejik bir karardır; ancak asıl maliyet veri aktarımında değil, kodun dönüştürülmesinde ve testlerdedir. Geçişin uygun olup olmadığını üç faktör belirler: uygulamanın kime ait olduğu (paket yazılım mı, kendi geliştirmeniz mi), veritabanına özgü kod miktarı (stored procedure, trigger, paket) ve kesinti toleransı. Bu yazıda geçiş kararını maliyet, risk ve uygunluk açısından nasıl değerlendireceğinizi anlatıyoruz.

Rehber; lisans yenileme, bulut stratejisi veya modernizasyon nedeniyle PostgreSQL’e geçişi değerlendiren BT yöneticileri, mimarlar ve yazılım ekipleri için hazırlandı.

PostgreSQL Geçişi

PostgreSQL'e geçiş sizin için uygun mu?

Aryasoft, Oracle ve SQL Server ortamlarınızı envanter ve uyumluluk analiziyle değerlendirir; geçişin maliyetini, riskini ve takvimini veriye dayalı olarak ortaya koyar.

Geçiş Değerlendirmesi Talep Et

Kısaca: Geçiş Kararı

Durum Değerlendirme
Kendi geliştirdiğiniz uygulama, az veritabanı kodu Güçlü aday. Geçiş büyük ölçüde veri aktarımı ve test işidir.
Kendi uygulamanız, yoğun stored procedure ve paket kodu Mümkün, ancak kod dönüşümü projenin en büyük kalemidir; ayrıntılı analiz şart.
Paket yazılım (ERP, CRM vb.) Yalnızca üretici PostgreSQL’i resmi olarak destekliyorsa. Aksi halde geçmeyin.
Yoğun Oracle’a özgü özellikler (RAC, Advanced Queuing, Spatial vb.) Her özellik için PostgreSQL karşılığı ayrıca değerlendirilmeli; bazıları mimari değişiklik gerektirir.
Ekipte PostgreSQL deneyimi yok Geçişten önce operasyon modelini netleştirin: eğitim, dış destek veya ikisi birden.

Neden PostgreSQL’e Geçiliyor?

  • Lisans maliyeti: PostgreSQL’in lisans bedeli yoktur ve özellikler edition’a göre kısıtlanmaz. Çekirdek sayısı arttıkça ticari lisans maliyeti hızla büyüdüğü için tasarruf, büyük ortamlarda belirgin olur.
  • Üretici bağımsızlığı: Fiyat ve lisans politikası değişikliklerinden etkilenmezsiniz.
  • Bulut taşınabilirliği: Aynı veritabanı kendi veri merkezinizde, Azure’da, AWS’de veya Google Cloud’da çalışır.
  • Modern yetenekler: JSON, coğrafi veri (PostGIS) ve vektör arama (pgvector) aynı veritabanında kullanılabilir.

PostgreSQL’i ilk kez değerlendiriyorsanız PostgreSQL Nedir? rehberimizle başlayabilirsiniz.

Gerçek Maliyet: Lisans Tasarrufu ve Geçiş Bedeli

Geçiş kararı, lisans tasarrufu ile geçiş ve işletim maliyetinin karşılaştırılmasıyla verilmelidir.

Kalem Açıklama
Lisans tasarrufu Mevcut lisans ve yazılım güvencesi (Software Assurance, Oracle destek) bedelleri; gelecekteki çekirdek artışları
Kod dönüşümü Stored procedure, fonksiyon, trigger, paket ve uygulama içindeki SQL’in yeniden yazılması; genellikle en büyük kalem
Test Fonksiyonel testler, performans testleri, veri doğrulama; projenin önemli bir bölümü
Veri aktarımı Araçlar, geçiş süresi, kesinti
Ekip ve operasyon Eğitim, yeni izleme ve yedekleme araçları, PostgreSQL deneyimli DBA veya dış destek
Paralel çalışma Geçiş döneminde iki sistemin birlikte işletilmesi

Not

Geri ödeme süresini hesaplarken lisans tasarrufunu yıllık, geçiş maliyetini tek seferlik düşünün. Kod miktarı az ve lisans maliyeti yüksek ortamlarda geçiş kısa sürede kendini amorti eder; yoğun prosedürel kod içeren küçük ortamlarda ise geri ödeme süresi uzayabilir.

Risk: Teknik Farklar

Geçiş projelerinde sürprizlerin çoğu, veritabanlarının aynı görünen ama farklı davranan özelliklerinden çıkar.

SQL Server’dan gelenler için

Konu SQL Server PostgreSQL
Harf duyarlılığı Varsayılan collation’lar harfe duyarsız Metin karşılaştırması varsayılan olarak harfe duyarlı
Nesne adları Büyük/küçük harf korunur, köşeli parantez Tırnaksız adlar küçük harfe çevrilir; tırnaklı adlar harfe duyarlı olur
Prosedürel dil T-SQL PL/pgSQL; söz dizimi ve hata yönetimi farklı
Otomatik artan anahtar IDENTITY GENERATED AS IDENTITY veya sequence
Sorgu söz dizimi TOP, ISNULL, GETDATE(), + ile metin birleştirme LIMIT, COALESCE, now(), || ile metin birleştirme
Geçici tablolar #temp tabloları CREATE TEMP TABLE; oturum kapsamı farklı
DDL ve işlemler Çoğu DDL işlem içinde çalışır DDL tamamen işlem içinde çalışır ve geri alınabilir

Oracle’dan gelenler için

Konu Oracle PostgreSQL
Boş metin ve NULL Boş metin (”) NULL kabul edilir Boş metin ve NULL farklıdır; mantık hataları en sık buradan çıkar
DATE tipi Tarih ve saat içerir date yalnızca tarih içerir; karşılığı genellikle timestamp(0)
NUMBER Tek tip sayı Kullanıma göre integer, bigint veya numeric seçilmeli; performansı etkiler
Paketler (package) Var Yok; şema ve fonksiyon gruplarıyla yeniden tasarlanır
Hiyerarşik sorgular CONNECT BY Recursive CTE (WITH RECURSIVE)
Otonom işlemler PRAGMA AUTONOMOUS_TRANSACTION Doğrudan karşılığı yok; mimari çözüm gerekir
Optimizer ipuçları Hint’ler yaygın Yerleşik hint mekanizması yok; sorgular ve indeksler yeniden ele alınır

Uyarı

Oracle’dan geçişte en sinsi hata kaynağı boş metin ile NULL arasındaki farktır. Oracle’da WHERE kolon IS NULL boş metinleri de bulurken PostgreSQL’de bulmaz. Uygulama hata vermeden yanlış sonuç üretebilir; bu yüzden veri doğrulama testleri yalnızca satır sayısını değil, iş kurallarını da kontrol etmelidir.

Uygunluk Analizi: Geçiş Ne Kadar Zor?

Aşağıdaki tablo, bir veritabanının geçiş karmaşıklığını kabaca tahmin etmenize yardımcı olur. Birden fazla “yüksek” işaretiniz varsa ayrıntılı bir değerlendirme yapılmadan takvim ve bütçe verilmemelidir.

Faktör Düşük Orta Yüksek
Veritabanı kodu Az sayıda basit prosedür Yüzlerce prosedür ve fonksiyon Binlerce satır prosedürel kod, paketler
Veritabanına özgü özellikler Standart SQL Bazı özel fonksiyonlar Platforma özgü özelliklere derin bağımlılık
Uygulama içi SQL ORM ile üretilen standart sorgular Karışık Elle yazılmış, platforma özgü söz dizimi
Veri boyutu Birkaç yüz GB Birkaç TB On TB ve üzeri
Kesinti toleransı Hafta sonu kesintisi kabul Birkaç saat Dakikalar
Entegrasyonlar Tek uygulama Birkaç uygulama Çok sayıda sistem, ETL, raporlama

Geçiş Araçları

Araç Ne işe yarar?
ora2pg Oracle şemasını ve kodunu analiz eder, dönüştürür ve karmaşıklık raporu üretir; açık kaynak
pgloader SQL Server ve MySQL’den PostgreSQL’e veri aktarımı; açık kaynak
AWS Schema Conversion Tool ve AWS DMS Şema dönüşümü ve sürekli veri replikasyonu; AWS hedefleri için
Azure Database Migration Service Azure Database for PostgreSQL’e geçiş senaryoları
Babelfish PostgreSQL üzerinde T-SQL uyumluluk katmanı; SQL Server uygulamalarının daha az değişiklikle çalışmasını hedefler
Logical replication / CDC araçları Geçiş sırasında kaynak ile hedefi senkron tutarak kesintiyi kısaltır

Araçlar şema ve veri aktarımının büyük kısmını otomatikleştirir; ancak prosedürel kodun dönüşümü ve iş mantığının doğrulanması her zaman uzman incelemesi gerektirir. Araç raporlarındaki “otomatik dönüştürüldü” ifadesi, kodun doğru çalıştığı anlamına gelmez.

Geçiş Aşamaları

Aşama Yapılanlar Çıktı
1. Keşif Veritabanı, kod, entegrasyon ve kullanıcı envanteri Envanter ve kapsam
2. Uyumluluk analizi Araç raporları, elle kod incelemesi, karmaşıklık puanı Maliyet ve takvim tahmini, karar
3. Dönüşüm Şema, veri tipleri, prosedürel kod ve uygulama SQL’inin dönüştürülmesi Çalışan bir PostgreSQL şeması
4. Veri aktarımı ve senkronizasyon İlk yükleme, ardından değişikliklerin sürekli aktarılması Senkron hedef sistem
5. Test Fonksiyonel, performans ve veri doğrulama testleri; paralel çalışma Kabul raporu
6. Geçiş (cutover) Yazmaların durdurulması, son senkronizasyon, uygulamanın yönlendirilmesi Canlı PostgreSQL
7. Stabilizasyon İlk haftalarda yoğun izleme, performans ayarları, geri dönüş seçeneğinin korunması Kararlı üretim ortamı

Kesintiyi en aza indiren geçiş yöntemlerini ve geri dönüş planını minimum kesintiyle taşıma rehberimizde anlattık. Geçişten sonra PostgreSQL’i production’da güvenle işletmek için PostgreSQL Best Practices ve yüksek erişilebilir PostgreSQL ortamı kurulumu yazılarımıza göz atabilirsiniz.

Ne Zaman Geçmemelisiniz?

  • Uygulama üreticisi PostgreSQL’i resmi olarak desteklemiyorsa. Desteklenmeyen bir veritabanında çalışan paket yazılım, güncelleme ve destek hakkınızı riske atar.
  • Geçişin tek gerekçesi kısa vadeli bir lisans yenilemesiyse ve kod dönüşümü bu süreye sığmıyorsa.
  • Ekibin PostgreSQL’i işletecek bir planı yoksa. Lisans tasarrufu, kesintilerin maliyetiyle kolayca silinebilir.

İpucu

Büyük ve karmaşık ortamlarda her şeyi tek seferde taşımak yerine, yeni geliştirilen uygulamaları PostgreSQL’de başlatmak ve mevcut sistemleri riskine göre sırayla taşımak daha güvenli bir yoldur.

Aryasoft ile PostgreSQL’e Geçiş

Aryasoft; SQL Server, Oracle ve PostgreSQL’de kıdemli uzmanlığa sahip bir ekiple geçiş projelerini envanter ve risk analiziyle başlatır. Karmaşıklık analizinin sonucunda, geçişin sizin için mantıklı olup olmadığını da açıkça söyleriz. Geçiş kararı verilirse dönüşüm, test, kesintisi en aza indirilmiş geçiş ve sonrasındaki stabilizasyon dönemini birlikte yürütürüz. Ayrıntılar veritabanı taşıma hizmetleri ve PostgreSQL hizmetleri sayfalarımızda.

Sıkça Sorulan Sorular

Süreyi veri hacminden çok kod belirler. Az veritabanı kodu olan bir uygulama birkaç haftada taşınabilirken, yoğun prosedürel kod içeren sistemlerde proje aylar sürebilir. Gerçekçi bir takvim, envanter ve uyumluluk analizinden sonra verilebilir.
Doğru dönüştürülmüş ve ayarlanmış bir sistemde genellikle düşmez. Ancak Oracle’da hint’lerle veya platforma özgü özelliklerle ayarlanmış sorgular PostgreSQL’de yeniden ele alınmalıdır. Performans testleri, geçiş planının zorunlu bir parçasıdır.
Yöntem seçimine bağlıdır. İlk yüklemeden sonra değişikliklerin sürekli aktarıldığı yöntemlerle kesinti, yalnızca son geçiş anındaki birkaç dakikaya indirilebilir.
Geri dönüş planı geçişten önce hazırlanmalıdır. Geçişten sonra PostgreSQL’e yazılan verilerin eski sisteme aktarılması gerekeceği için, bu seçeneğin ne kadar süre açık tutulacağı baştan belirlenmelidir.

Kaynaklar

Bu rehberdeki teknik bilgiler Kasım 2026’da aşağıdaki kaynaklarla karşılaştırıldı.

  1. PostgreSQL dokümantasyonu: Porting from Oracle PL/SQL
  2. PostgreSQL dokümantasyonu: Data Types
  3. PostgreSQL dokümantasyonu: WITH Queries (Common Table Expressions)
  4. Ora2Pg
  5. pgloader dokümantasyonu
  6. Babelfish for PostgreSQL
  7. Microsoft Learn: Migration service in Azure Database for PostgreSQL
  8. AWS Schema Conversion Tool

PostgreSQL Geçişi

Geçiş kararınızı veriye dayandırın

Aryasoft, Oracle ve SQL Server ortamlarınızı analiz eder; geçişin maliyetini, riskini ve takvimini ortaya koyar ve geçişi yazılı bir geri dönüş planıyla yürütür.

4.7/5