We run essentially the following commands to create the table of contents in 
order to prevent pg_restore from failing:
pg_restore -l database.dump | \
eval fgrep -v -e "' SCHEMA - public '" \
      -e "' COMMENT - SCHEMA public '" \
      -e "' PROCEDURAL LANGUAGE - plpgsql'" database.toc

Where would the reordering happen?

Thanks,

A. Ullrich

On 8/19/10 3:59 PM, "Tom Lane" <t...@sss.pgh.pa.us> wrote:

"Albert Ullrich" <aullr...@blackducksoftware.com> writes:
> Description:        Parallel pg_restore fails with "tuple concurrently
> updated"

> pg_restore -e -v -j 4 -Fc -L /tmp/fp_basic.toc -d fp_basic
> /tmp/fp_basic.dump

Apparently you've used the -L option to reorder the dump objects in a way
that won't work with parallel restore.  On the whole I don't recommend
trying to use -L with parallel restore at all, but if you must do it,
it's your responsibility to choose a safe order.  Basically, you had
better keep all the PRE_DATA objects ahead of the DATA objects, and
those ahead of POST_DATA objects.

Did you have a specific reason for not wanting to let parallel restore
choose the restore order for itself?

                        regards, tom lane

Reply via email to