Database
•
•
By Ryan
PostgreSQL 的 VACUUM 機制詳解:避免表膨脹 (Bloat) 的關鍵
PG 維運核心
PostgreSQL 使用 MVCC 機制,更新數據時會產生新的 Tuple,舊的 Tuple 標記為 Dead。若不清理,表會無限膨脹。
Autovacuum 是救星,但預設參數通常太保守。建議調整:
autovacuum_vacuum_scale_factor: 降低觸發門檻 (如從 0.2 降至 0.05)。autovacuum_vacuum_cost_limit: 提高資源上限,讓清理跑得更快。
定期監控 pg_stat_user_tables 中的 n_dead_tup 是 DBA 的基本功。