VACUUM
ভ্যাকুয়াম
Dead tuple-দের জায়গা reuse-যোগ্য করা — MVCC-র জমে থাকা মৃতদেহ সরিয়ে bloat আর transaction-ID wraparound ঠেকানো।
Update/Delete-এ old version মরে কিন্তু জায়গায় থেকে যায় — VACUUM সেই জায়গা FSM-এ ফেরত দেয় (file shrink করে না, সেটা VACUUM FULL):
- Normal VACUUM: concurrent, cheap, space reuse
- VACUUM FULL: table rewrite, exclusive lock, space return — শেষ অস্ত্র
- Freeze: খুব পুরনো tuple-এর xmin আগের বিশেষ মানে বদলানো — wraparound defense
VACUUM (ANALYZE, VERBOSE) orders;
SELECT n_dead_tup FROM pg_stat_user_tables WHERE relname = 'orders';
MVCC যেখানে, সেখানে vacuum অনিবার্য — এ জিনিস ঐচ্ছিক maintenance নয়, design-এর অঙ্গ।