POSTGRESQL VACUUM

İbrahim Yıldız
2 min readMar 13, 2021

Herkese Merhabalar Bu Yazımda VACUUM’U Basit ve Kısa Bir Şekilde Anlatmaya Çalışacağım

VACUUM NEDİR

Vacuum Dead Tupleların Temizlenmesini Sağlayan Bir Prosesdir

  • Exclusive Lock Oluşmaz !
  • Diskte Yer Açmaz Sadece İşaretleme Yapar

DEAD TUPLE NEDİR ?

Bir tablomuza delete işlemi yaparsak sildigimiz satırların sadece görünürlüğü yok olur oysa arka planda diskte halen yer kaplamaya devam eder buna dead tuple denir ve sequence scan yaptığımızda ise scan işlemi tuplerıda sayar performans açısından kötü olur

VACUUM FULL

Buda Dead Tupları Temizler Çok Sık Update / Delete Olan Tablonuz Varsa Önerilir Diskte Yer Açar Ve İndexleri Tekrar Yaratır Aslında Tablonunda Kopyasını Oluşturuyor ve Tablo Boyutunuz Ne Kadarsa Shared Memoryde’de O Kadar Yer Kaplar Ona Göre Memory Alanınızı Kontrol Edersiniz

Tablonuzdaki Dead Tuplerı Öğrenme

n_tup_ins | YAPILAN İNSERT SAYISI
n_tup_upd | YAPILAN UPDATE SAYISI
n_tup_del | YAPILAN DELETE SAYISI
n_live_tup | SATIR SAYISI
n_dead_tup | DEAD TUPLE SAYISI
last_vacuum | EN SON GERÇEKLESEN VACUUM TARİHİ
last_autovacuum | EN SON GERÇEKLESEN AUTOVACUUM TARİHİ
last_analyze | EN SON GERÇEKLESEN ANALYZE TARİHİ
last_autoanalyze | EN SON GERÇEKLESEN AUTOVACUUM TARİHİ
vacuum_count | VACUUMLANAN SATIR SAYISI
autovacuum_count | AUTOVACUUMLANAN SATIR SAYISI
analyze_count | ANALİZ SAYISI
autoanalyze_count | AUTO ANALİZ SAYISI

ANALYZE

VACUUM İŞLEMİ SIRASINDA DEAD TUPLELAR SİLİNDİGİ İÇİN TABLOMUZUN İSTATİKSLERİ BOZULUR VE PERFORMANS KAYBINA YOL AÇAR BUNUN İÇİN VACUUM + ANALYZE VEYA ANALYZE TABLO İSMİ YAPABİLİRSİNİZ

AUTOVACUUM

VACUUM + ANALYZE’DİR VACUUM İŞLEMLERİNİ OTOMATİK YAPAR

--

--

No responses yet