DBAtlas · Veritabanı operasyon atlası

Slot'ların tutabileceği WAL miktarını sınırla (max_slot_wal_keep_size)

PostgreSQLReplikasyon

Komut

ALTER SYSTEM SET max_slot_wal_keep_size = '100GB';
SELECT pg_reload_conf();
SELECT slot_name, active, wal_status, pg_size_pretty(safe_wal_size) AS safe_wal_size FROM pg_replication_slots;

Ne yapar?

Replication slot'ların pg_wal'da tutabileceği WAL için üst sınır koyar (varsayılan -1 = sınırsız); sınır aşılınca checkpoint eski WAL'ı siler ve slot wal_status = 'lost' olur. Parametre reload ile etkinleşir.

Ne zaman kullanılır?

Kopan bir standby veya subscriber'ın primary diskini doldurup tüm sistemi durdurma riskine karşı, her slot kullanan kümede koruma olarak.

Dikkat

Sınır, primary'nin ayakta kalmasını slot sahibinin aleyhine seçer: 'lost' olan slot'un standby'ı yeniden kurulmalı, logical subscription baştan oluşturulmalıdır. Değeri pg_wal diskinin boş alanının altında ama beklenen en uzun kesintide üretilen WAL'dan büyük seç. wal_status 'unreserved' ise slot kaybolmak üzeredir, alarm üret.

DBAtlas'ta aç →

İlgili