VACUUM PostgreSQL کا ایک دیکھ بھال کا عمل ہے جو dead tuples (MVCC کے ذریعے چھوڑے گئے پرانے row versions) سے storage واپس لیتا ہے اور statistics کو اپ ڈیٹ کرتا ہے۔ کیونکہ Postgres کا MVCC ہر UPDATE/DELETE پر dead rows بناتا ہے، VACUUM ضروری ہے bloat سے بچنے اور database کو صحت مند رکھنے کے لیے۔ Autovacuum اسے خودکار کرتا ہے۔
Dead tuples کیوں موجود ہیں (MVCC سے تعلق)
MVCC: an UPDATE/DELETE doesn't overwrite a row — it marks the old version obsolete
(a "dead tuple") and may create a new one. Dead tuples accumulate over time.
→ Without cleanup, dead tuples cause BLOAT: wasted disk space, slower scans
(more data to read), degraded performance.
VACUUM reclaims this dead space → keeps tables compact and queries fast.
