Thread: 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