Isn't CREATE INDEX CONCURRENTLY prone deadlock conditions ? I saw one with VACUUM today. But I think it can happen with other commands like VACUUM FULL, CLUSTER, CREATE INDEX CONCURRENTLY and so on. These commands conflict on the ShareUpdateExclusiveLock held by CIC and hence would wait for CIC to release the lock. At the same time, CIC would wait for these transactions to complete.
We know that these commands are run in a separate transaction and do not do any index fetches or inserts/updates. So in principle CIC need not wait for these transactions to complete in any of its waits. May be we can skip waits on the transactions that are running one of these commands. Is it something worth doing ? Thanks, Pavan -- EnterpriseDB http://www.enterprisedb.com