Thread: pg_dump directory format and proper ordering

pg_dump directory format and proper ordering

From
Wells Oliver
Date:
Hi: I wanted to check on something: if I pg_dump four schemas in directory format with a selection of schemas, and then pg_restore, I'm assuming psql will know the order of priority for restoration, meaning it will restore schema A first if schema B/C/D depend on those entities, right?

--

Re: pg_dump directory format and proper ordering

From
Tom Lane
Date:
Wells Oliver <wells.oliver@gmail.com> writes:
> Hi: I wanted to check on something: if I pg_dump four schemas in directory
> format with a selection of schemas, and then pg_restore, I'm assuming psql
> will know the order of priority for restoration, meaning it will restore
> schema A first if schema B/C/D depend on those entities, right?

It tracks dependencies at the per-object level.  I'm not aware of any
way that a schema as such could depend on another, but it should take
care of correct restoration order for the objects within them.

            regards, tom lane



Re: pg_dump directory format and proper ordering

From
Wells Oliver
Date:
Is there a potential issue when restoring in parallel?

I notice for example it fails to re-create some mat views I have in schema B as they query from some table in schema A that hasn't been created yet at that moment.


On Thu, Jun 10, 2021 at 6:56 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
Wells Oliver <wells.oliver@gmail.com> writes:
> Hi: I wanted to check on something: if I pg_dump four schemas in directory
> format with a selection of schemas, and then pg_restore, I'm assuming psql
> will know the order of priority for restoration, meaning it will restore
> schema A first if schema B/C/D depend on those entities, right?

It tracks dependencies at the per-object level.  I'm not aware of any
way that a schema as such could depend on another, but it should take
care of correct restoration order for the objects within them.

                        regards, tom lane


--

Re: pg_dump directory format and proper ordering

From
Tom Lane
Date:
Wells Oliver <wells.oliver@gmail.com> writes:
> Is there a potential issue when restoring in parallel?

Not supposed to be ...

> I notice for example it fails to re-create some mat views I have in schema
> B as they query from some table in schema A that hasn't been created yet at
> that moment.

You can break it with user-defined functions, because pg_dump can't
really see into the function bodies to understand what they might
reference.  But a matview that doesn't contain anything like that
should Just Work.  If you have a counterexample (against a reasonably
recent PG version), please file a bug report.

            regards, tom lane