Andrew, Tom,
I just did a test run using Andrew's patch with a database with over 400
objects. I didn't see any locks waiting during the entire run. So the
patch logic appears to work.
Note that it also shows up that some CONSTRAINT declarations really
shouldn't require an exclusive lock. I'd estimate that if we could step
a lot of constraints down to sharelock (yes, I know, there's some issues
with that), it would shorten a parallel restore by a large chunk (like
25% in the 4-core case I'm testing).
--
Josh Berkus
PostgreSQL Experts Inc.
www.pgexperts.com