Re: Creating multiple indexes in one table scan.

Andrew Dunstan <andrew@dunslane.net>

From: Andrew Dunstan <andrew@dunslane.net>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Gurjeet Singh <singh.gurjeet@gmail.com>, Stephen Frost <sfrost@snowman.net>, PGSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2012-05-24T18:09:37Z
Lists: pgsql-hackers

On 05/24/2012 11:44 AM, Robert Haas wrote:
> On Thu, May 24, 2012 at 11:25 AM, Gurjeet Singh<singh.gurjeet@gmail.com>  wrote:
>> It'd be great if one of standard utilities like pg_restore supported this,
>> by spawning every concurrent index build in separate backends. Just a
>> thought.
> If parallel restore doesn't already take this into account when doing
> job scheduling, that would be a worthwhile improvement to consider.
>
>


Parallel restore allows it in some cases, but not in others. You can't 
create an index-backed constraint concurrently with any other index 
because ALTER TABLE takes an ACCESS EXCLUSIVE lock.

We could get around that changing pg_dump to create the index first and 
then add the constraint using the existing index.

cheers

andrew