Blog'a Dön

PostgreSQL Replikasyon Rehberi: Yüksek Erişilebilirlik (2026)

PostgreSQL streaming replikasyon kurulumu: primary/standby yapılandırması, failover ve yük dağıtımı ile veritabanı yüksek erişilebilirliği.

postgresqlreplikasyonyüksek erişilebilirlikfailoververitabanı

Veritabanı, çoğu uygulamanın en kritik bileşenidir; tek bir sunucuya bağımlı kalmak ise büyük bir risktir. PostgreSQL replikasyon, verinizi birden fazla sunucuda tutarak hem yüksek erişilebilirlik hem de yük dağıtımı sağlar. Bu rehberde streaming replikasyonun temellerini ele alıyoruz.

Replikasyon Nedir?

Replikasyon, bir primary (birincil) veritabanındaki değişikliklerin bir veya daha fazla standby (yedek) sunucuya sürekli kopyalanmasıdır. Böylece primary arızalanırsa, standby devreye girerek hizmetin sürmesini sağlayabilir.

Replikasyon Türleri

  • Streaming (akış) replikasyon: WAL kayıtları standby'a gerçek zamanlı aktarılır.
  • Senkron: Yazma işlemi standby onaylayana kadar tamamlanmaz; veri kaybı sıfırdır ama gecikme artabilir.
  • Asenkron: Standby biraz geride kalabilir; performans yüksektir.

Kurulum Mantığı

  1. Primary'de replikasyon için bir kullanıcı ve WAL ayarlarını yapılandırın.
  2. Standby'ı primary'nin bir temel yedeğinden (base backup) oluşturun.
  3. Standby'ı primary'ye bağlanacak şekilde ayarlayıp başlatın.
  4. Replikasyon durumunu pg_stat_replication ile doğrulayın.

Okuma Yükü Dağıtımı

Standby sunucular salt-okunur sorgular için kullanılabilir. Raporlama ve ağır okuma sorgularını standby'a yönlendirerek primary'nin yükünü azaltabilirsiniz. Bu, ölçeklenme için etkili bir yöntemdir.

Failover

Primary arızalandığında bir standby'ı primary'ye yükseltmek (promote) gerekir. Bu süreci otomatikleştirmek için Patroni veya repmgr gibi araçlar kullanılır; böylece kesinti süresi en aza iner.

Sonuç

PostgreSQL replikasyon, kritik uygulamalar için veri güvenliği ve süreklilik sağlar. Doğru kurulmuş bir primary/standby mimarisi, hem yüksek erişilebilirlik hem de okuma ölçeklenmesi sunar. Bu tür yapılar için güçlü ve kararlı sunucular gerekir.

İlgili rehberler:

Yüksek erişilebilirlikli veritabanı altyapıları için Dedicated Sunucu paketlerimizi inceleyin.