Alvaro Herrera <alvherre@commandprompt.com> writes:
> However I think there's a bigger problem here, which is that if the user
> has set naptime too low, i.e. to a value lower than
> number-of-databases * 100ms, we'll be running the (expensive)
> rebuild_database_list function on each iteration ... maybe we oughta put
> a lower bound on naptime based on the number of databases to avoid this
> problem.
Bingo, that's surely exactly what was happening to the OP. He had 2000
databases and naptime at (I assume) the default; so he was rerunning
rebuild_database_list every 100ms.
So that recovery code path needs some more thought. Maybe a lower bound
on how often to do rebuild_database_list? And/or don't set adl_next_worker
to less than 100ms in the future to begin with?
regards, tom lane