On Mon, 2007-10-01 at 16:50 -0400, Alvaro Herrera wrote:
> > Can CREATE INDEX and ANALYZE be made to run concurrently?
>
> I don't see why not (except for the fact that both try to update
> reltuples and relpages AFAIR, so we would need to be careful about
> that).
This seems like the most desirable solution, everything else I've
thought of is really just a kluge.
We could make ANALYZE use optimistic locking, so it doesn't attempt the
catalog lock until later, so ANALYZE would be two internal transactions.
It should not overwrite the reltuples values from a concurrent CREATE
INDEX either.
We should not allow VACUUM to be concurrent with either CREATE INDEX or
ANALYZE, but then thats not the problem here anyway.
-- Simon Riggs 2ndQuadrant http://www.2ndQuadrant.com