Re: pg_restore with --use-list and --jobs and depdendencies

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Wells Oliver <wells(dot)oliver(at)gmail(dot)com>
Cc: pgsql-admin <pgsql-admin(at)postgresql(dot)org>
Subject: Re: pg_restore with --use-list and --jobs and depdendencies
Date: 2022-01-07 22:26:31
Message-ID: 1386276.1641594391@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Wells Oliver <wells(dot)oliver(at)gmail(dot)com> writes:
> Hi all: I just wanted to clarify something for myself: how does pg_restore
> determine restore order if you're using a --use-list and --jobs parameters.
> Given the concurrency of jobs and (assuming) it goes in order of what's in
> the list, does it... well, does it sort out dependencies properly so data
> is inserted that foreign keys need, etc?

(1) The basic order of the restored items is what you say in the --list
file, but it will start the next item as soon as (a) a worker is free
and (b) all of that item's dependencies are complete

(2) It will honor direct dependencies between restored items, ie
not start B till A is done if B is shown as depending on A

(3) I'm not too sure about indirect dependencies, ie if you have
a situation where C depends on B depends on A and you ask for just
A and C, that may end up with no dependency constraint delaying C.
Which might be fine, or it might not; you'd need to be more specific
about what you intend to skip.

regards, tom lane

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message Daulat 2022-01-11 07:25:52 Accessing dblink without using username and Password
Previous Message Wells Oliver 2022-01-07 21:04:14 pg_restore with --use-list and --jobs and depdendencies