Robert Haas <robertmhaas@gmail.com> writes:
> On a related note, I've previously had the thought that it would be
> nice to have a "big DDL lock" - that is, a lock that prevents
> concurrent DDL without preventing anything else - so that pg_dump
> could get just that one lock and then not worry about the state of the
> world changing under it.
Hm ... how would that work exactly? Every DDL operation has to take
the BigDDLLock in shared mode, and then pg_dump takes it in exclusive
mode? That would preclude two pg_dumps running in parallel, which
maybe isn't a mainstream usage but still there's never been such a
restriction before. Parallel pg_dump might have an issue in particular.
But more to the point, this seems like optimizing pg_dump startup by
adding overhead everywhere else, which doesn't really sound like a
great tradeoff to me.
regards, tom lane