Thread: pg_restore with --use-list and --jobs and depdendencies
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?
--
Wells Oliver
wells.oliver@gmail.com
wells.oliver@gmail.com
Wells Oliver <wells.oliver@gmail.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