Обсуждение: pg_dump directory format and proper ordering
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?
--
Wells Oliver
wells.oliver@gmail.com
wells.oliver@gmail.com
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
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
Wells Oliver
wells.oliver@gmail.com
wells.oliver@gmail.com
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