Alvaro Herrera wrote:
> Simon Riggs wrote:
>> On Wed, 2008-09-17 at 10:09 +0300, Heikki Linnakangas wrote:
>>> Isn't autoanalyze a waste of time during a bulk load? Seems better to
>>> run ANALYZE manually at the end.
>> Its not a waste of time because it catches tables immediately they have
>> been loaded, not just at the end of the bulk load. Running ANALYZE is a
>> waste of time if autoanalyze has already caught it, which is why that's
>> never been added onto the end of a pg_dump script. But currently this is
>> true only when we have both autoVACUUM and autoANALYZE enabled.
>
> Hmm, one of the first complaints about defaulting autovacuum to on was
> that it made restores so much longer *because* it was choosing to do
> autoanalyzes on the tables as they were imported. It was then that the
> auto-cancel mechanism was introduced.
>
> http://pgsql.markmail.org/message/rqyjkafuw43426xy
>
> Why doesn't this new request conflict with that one?
The problem back then was that a CREATE INDEX was waiting on the
autoanalyze to finish, and the autoanalyze took a long time to finish
because of vacuum_cost_delay. Now that we have the auto-cancel
mechanism, that's not a problem.
-- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com