Problem neden önemlidir?
PostgreSQL disk kullanımı gerçek veri, indeksler, WAL tutulması, geçici dosyalar veya şişkinlik nedeniyle büyüyebilir. Yalnızca dosya sistemi toplamına bakmak doğru müdahaleyi seçmek için yetersizdir.
Nasıl teşhis edilir?
Veritabanı ve ilişki boyutlarını zaman içinde karşılaştırın, ardından WAL ve geçici dosya sayaçlarını ayrı inceleyin. PostgreSQL boyut fonksiyonları aynı dosya sistemindeki günlükleri veya diğer uygulama dosyalarını kapsamayabilir.
Sorgular veritabanı ve en büyük kullanıcı tablolarının ayrılmış boyutlarını gösterir. Dosya sistemi boş alanı ve pg_wal ayrıntısı için ana makine ölçümleri ayrıca gerekir.
SELECT datname, pg_database_size(datname) AS database_bytes
FROM pg_database
WHERE datallowconn
ORDER BY database_bytes DESC;
SELECT schemaname, relname,
pg_total_relation_size(relid) AS total_bytes
FROM pg_stat_user_tables
ORDER BY total_bytes DESC
LIMIT 25;Güvenli çözüm yaklaşımı
Büyüme kaynağını sınıflandırdıktan sonra veri yaşam döngüsü, indeks tasarımı, sorgular veya WAL tutulmasını hedefleyin. Kapasite genişletmesini kök neden çalışması ve güvenli boş alan payıyla birlikte planlayın.
Sürekli monitoring neden gerekir?
moon, PostgreSQL nesne ve kapasite eğilimlerini düşük ek yükle sürekli izlemeye yardımcı olur. Slack, PagerDuty veya webhook uyarıları büyüme hızındaki değişimleri erken görünür kılar.
Sık sorulan sorular
Veritabanı boyutundaki artış her zaman veri büyümesi midir?
Hayır, indeksler, ölü satırlar ve diğer ilişki çatalları da artışa katkıda bulunabilir. Kaynağı nesne ve zaman serisi düzeyinde ayırın.
moon bu konuda nasıl yardımcı olur?
moon, SQL Server, PostgreSQL ve MongoDB sinyallerini sürekli izleyerek problemi anlık bir kontrolden ziyade zaman içindeki davranışıyla değerlendirmeye yardımcı olur.