Tom Lane wrote:
> "Marc G. Fournier" <scrappy@postgresql.org> writes:
>>Just curious, but isn't this one of the key points about pg_autovacuum in
>>the first place? So that you vacuum what needs to be vacuum'd, and not
>>*everything* ... ? Shouldn't the answer to the 'bandwidth issue' change
>>to 'you should install/use pg_autovacuum'?
>
> No, not really, but I think it's much more likely that you'd want to
> enable vacuum delay for autovacuum-commanded vacuums than vacuums
> commanded interactively. Or, if you still prefer the old-tech way of
> performing routine vacuums from a cron script, you'd probably turn on
> vacuum delay in that cron script.
>
> I think we *should* add to autovacuum a parameter to let it set
> vacuum_delay for its vacuums, and maybe even default to having it on.
> But I'm unconvinced we want any delay as the global default.
I don't think vacuum delay should be on by default. In many use
scenarios, it is undesireable. And in the ones where you'd want to use
it, in my experience it requires tuning based on your actual load profile.
When I was experimenting with vacuum delay a few months ago (real
application, not contrived), I found that too low a setting did not
lower load noticeably, and too high a setting caused vaccum to steadily
fall behind and never catch up.
Joe