Tom Lane wrote:
Andrew Dunstan <and...@dunslane.net> writes:
Tom Lane wrote:
Doesn't that eliminate any chance of running two CREATE INDEXes
concurrently on the same table?

No, since neither of them will have any locking dependencies, which are only for items that take an exclusive lock on the table(s), such as FK constraints.

In that case a CREATE INDEX would also fail to be seen as conflicting
with an ALTER ADD FOREIGN KEY, which I thought was the nub of Josh's
complaint.

                        

No it won't. What you're missing is that we need to compare the lockdeps of each item (i.e. both the candidate item and the running item) with all the deps (not just the lockdeps) of the other item. If neither item has any lockdeps there will be no conflict. This will allow concurrent index creation, since neither item will have any lockdeps. But it will prevent us selecting a create index that conflicts with a running FK creation or vice versa.

cheers

andrew

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to