Bilgi Bankası
PostgreSQLYedekleme ve kurtarma 15 dk 14.06.2026

PostgreSQL PITR adım adım: WAL arşivi, restore target time ve doğrulama

PITR kulağa sihirli bir geri alma düğmesi gibi gelir; ama aslında disiplinli bir kayıt düzenidir. Base backup, WAL arşivi ve doğru hedef zaman birleşirse veritabanını belirli bir ana yaklaştırabilirsiniz. Bu yazı, PITR’ı ezber komut değil karar ve doğrulama süreci olarak anlatır.

Bu yazı sana şu durumda yardımcı olur
  • yanlışlıkla tablo silindi ve hangi zamana dönüleceği bilinmiyor
  • WAL arşivi açık ama hiç restore tatbikatı yapılmadı
  • base backup var fakat WAL dosyalarının tamam olup olmadığı belirsiz
  • restore sonrası uygulamanın gerçekten çalışıp çalışmadığı test edilmedi
  • RPO hedefi ile arşivleme sıklığı birbirine uymuyor
Yazıyı bitirince

PostgreSQL PITR için hangi parçaların gerektiğini, restore target time seçerken nelere dikkat edeceğinizi ve geri yüklemenin sadece veritabanı açılmasıyla bitmediğini netleştireceksiniz.

TürkDB açısından ürünleşme notu

Bu bölüm, TürkDB’nin ilgili problemi hangi ürün ilkeleri ve kontrol noktalarıyla ele alacağını anlatır. Kapsam, gerçek iş yükü ve ihtiyaçla birlikte netleşir.

TürkDB açısından PITR değeri, yedek dosyasının varlığından çok geri dönüş kanıtının görünür olmasıdır. Platform base backup, WAL arşivi, geri yükleme hedefi ve tatbikat sonucunu aynı bağlamda göstermeyi hedeflemelidir; hedef zamanı ve iş etkisini ise müşteriyle birlikte belirlemek gerekir.

PITR hangi parçalarla çalışır?

PostgreSQL PITR için iki ana parça gerekir: belirli bir andaki base backup ve o andan sonra üretilen WAL kayıtları. Base backup tek başına sizi yalnızca yedeğin alındığı ana götürür. WAL kayıtları ise o andan sonra yapılan değişiklikleri tekrar oynatarak daha yakın bir zamana dönmenizi sağlar.

Bu yüzden “yedek alıyoruz” cümlesi PITR için yeterli değildir. WAL arşivinin düzenli çalışması, dosyaların kaybolmaması, saklama süresinin iş ihtiyacıyla uyumlu olması ve geri yükleme sırasında doğru sırayla okunabilmesi gerekir.

  • Base backup geri dönüşün başlangıç noktasıdır.
  • WAL arşivi başlangıçtan hedef zamana kadar olan değişiklikleri taşır.
  • Restore target time, teknik saat değil iş kararına bağlı bir kesme noktasıdır.
  • Tatbikat yapılmadıysa PITR sadece varsayımdır.

Restore target time nasıl seçilir?

En zor karar çoğu zaman komut değil, hangi ana dönüleceğidir. Yanlışlıkla silme işlemi 14:03:20’de yapıldıysa hedef zaman 14:03:19 gibi görünür. Ama uygulamada aynı dakikada geçerli siparişler, ödemeler veya kullanıcı işlemleri de olmuş olabilir.

Bu nedenle hedef zaman belirlenirken uygulama logu, denetim kaydı, kullanıcı etkisi ve iş tarafının kabul edebileceği veri kaybı birlikte okunmalıdır. PITR teknik olarak sizi bir ana yaklaştırır; hangi anın doğru olduğu iş kararıdır.

Hedef zaman karar notu

postgresql-pitr-target-time.md
Olay:
İlk fark edildiği zaman:
Hatalı işlem zamanı:
Önerilen restore_target_time:
Bu zamandan sonra kaybedilecek geçerli işlemler:
İş tarafı onayı:
Geri dönüş yerine düzeltme sorgusu mümkün mü:
Karar:

Geri yükleme açıldı diye iş bitmez

Restore başarıyla tamamlandığında PostgreSQL ayağa kalkabilir; ama bu, uygulamanın doğru veriyle çalıştığı anlamına gelmez. Kritik tablolar, beklenen kayıtlar, sequence değerleri, kullanıcı yetkileri ve uygulamanın temel okuma/yazma akışı kontrol edilmelidir.

Tatbikatın amacı yalnızca veritabanını açmak değildir. Amaç, ekiplerin olay günü hangi sırayla hareket edeceğini ve hangi kanıta bakacağını önceden görmesidir.

Restore sonrası temel doğrulama

postgresql-restore-validation.sql
select now() as restore_check_time;

select count(*) from orders where created_at >= current_date - interval '1 day';
select max(id) from orders;
select last_value from orders_id_seq;

-- Uygulamanın kritik okuma/yazma akışı ayrı test edilmelidir.

PITR planını canlıya çıkmadan önce deneyin

PITR, ilk kez gerçek olay sırasında denenmemelidir. Küçük bir tatbikat ortamı açıp son base backup ve WAL arşiviyle belirli bir saate dönmek, hem teknik açıkları hem de ekip içi iletişim boşluklarını erkenden gösterir.

Tatbikat sonunda süre, eksik adımlar, manuel müdahaleler ve karar notları saklanmalıdır. Bir sonraki tatbikatın daha kısa ve daha sakin geçmesi böyle mümkün olur.

Devam etmek istersen

Sorunu motor bazında derinleştirin

Benzer belirtiler farklı motorlarda farklı nedenlere dayanır; yayınlanan tüm rehberleri ana sayfadan takip edebilirsiniz.

Tüm makaleler