Re: pg_restore --multi-thread

Peter Eisentraut <peter_e@gmx.net>

From: Peter Eisentraut <peter_e@gmx.net>
To: Andrew Dunstan <andrew@dunslane.net>
Cc: Cédric Villemain <cedric.villemain@dalibo.com>, jd@commandprompt.com, Tom Lane <tgl@sss.pgh.pa.us>, pgsql-hackers@postgresql.org
Date: 2009-02-20T12:32:05Z
Lists: pgsql-hackers
Andrew Dunstan wrote:
> Cédric Villemain wrote:
>>
>>  -j [jobs], --jobs[=jobs]
>>   Specifies  the  number  of jobs (pg_restore) to run simultaneously. 
>> If the -j
>> option is given without an argument, pg_restore will not limit the 
>> number of
>> jobs that can run simultaneously.

> Quite apart from anything else, this description is almost 100% dead 
> wrong.  The argument is not optional at all, and there is no unlimited 
> parallelism. If you want to know how it actually works look at the dev 
> docs.

What I'm still missing here is a piece of documentation or a guideline 
that says when a given number of threads/jobs/workers would be 
appropriate.  For make -j, this is pretty clear: If you have N CPUs to 
spare, use -j N.  For pg_restore, this is not made clear:  Is it the 
number of CPUs on the client or the server or the number of disks on the 
client or the server or perhaps a combination of this or something else?