Cookbook recipe

Tune autovacuum cost-based delay

Applies to PostgreSQL 13–17 Last reviewed May 2026 Grounded in source
Estimated investigation4 min

Scenario

Autovacuum runs but never finishes on big tables — it is throttled. Cost-based delay tuning lets it keep up without hammering I/O. Diagnose it Check the throttle settings: SHOW autovacuum_vacuum_cost_limit; SHOW autovacuum_vacuum_cost_delay; Why it happens Autovacuum…

Investigation Path

Autovacuum runs but never finishes on big tables — it is throttled. Cost-based delay tuning lets it keep up without hammering I/O.

Diagnose it

Check the throttle settings:

SHOW autovacuum_vacuum_cost_limit;
SHOW autovacuum_vacuum_cost_delay;

Why it happens

Autovacuum accumulates a “cost” as it reads/writes pages and sleeps for cost_delay when it exceeds cost_limit. Too-conservative defaults throttle it so hard it cannot keep pace with churn on large tables.

This is a Pro lesson

Get every Learning Pathway and cookbook recipe — grounded in PostgreSQL source code, with diagnostics, fixes, and prevention for each topic.

Continue this lesson to learn:

  • How to fix it
  • Prevent it next time
  • Related & next steps
  • All 36 Learning Pathway lessons
  • 170+ cookbook recipes
  • Source-grounded diagnostics & fixes

Secure checkout Cancel anytime Source-grounded

Career Impact

This scenario builds production judgment and operational confidence under pressure.

Open Career Dashboard →

Keep going

Related & next steps

Was this helpful?

← All cookbook recipes