pgconfigurator
pgconfigurator

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.

Related parameters