autovacuum_vacuum_scale_factor
No restart — takes effect on reloadtuned by pgconfiguratorratio (fraction of table)
Fraction of a table that must change (dead rows) before autovacuum kicks in.
What pgconfigurator would set
32 GB · 8 vCPU · NVMe · OLTP
Computing…
Tune for your exact server → /tunecomputed in your browser · nothing uploaded
What it does
Autovacuum vacuums a table once the number of dead rows exceeds autovacuum_vacuum_threshold + autovacuum_vacuum_scale_factor × table size. The default scale factor of 0.2 means a table waits until ~20% of it is dead before being vacuumed.
How to tune it
20% is far too much churn to tolerate on a large, hot table — it bloats badly before vacuum runs. Lower it per-table for big tables (e.g. 0.01–0.05 via ALTER TABLE … SET) so vacuum runs on a smaller, more frequent slice. Small tables are fine at the default.
Related plan nodes
FAQ
- Why does my big table bloat even with autovacuum on?
- The default 0.2 scale factor lets 20% of a huge table become dead rows before autovacuum touches it. Lower autovacuum_vacuum_scale_factor for that table (e.g. 0.02) so it's vacuumed in smaller, more frequent passes.