I wrote: > Actually, if you wanted a low-hanging solution to that, it would > probably be to revert this 8.2 patch: > http://archives.postgresql.org/pgsql-committers/2006-09/msg00284.php
Uh ... never mind, that won't help at all. Reducing the lock taken for ANALYZE could allow CREATE INDEX (ShareLock) to run concurrently. But ALTER TABLE wants AccessExclusive lock, and no amount of fine-tuning of the conflicting lock will help. It might be possible to solve this if we reduce the strength of the lock used for ALTER TABLE. We'd have to go through all the commands potentially issued by a pg_dump script and see if they could all be made to run concurrently with autovac, which is a bit nervous-making but might be feasible; and I'm afraid tablecmds.c would need some restructuring to not use the same lock type for every variant of ALTER. But it seems like a path worth investigating. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq