Обсуждение: pg_restore and materialized view deps
Not the end of the world but I notice when running pg_restore that I encounter a few errors where materialized views cannot be refreshed because they query other materialized views not yet refreshed.
Is this a fixable thing or just something one must live with, and refresh them after the restore?
Wells Oliver
wells.oliver@gmail.com
wells.oliver@gmail.com
Wells Oliver <wells.oliver@gmail.com> writes:
> Not the end of the world but I notice when running pg_restore that I
> encounter a few errors where materialized views cannot be refreshed because
> they query other materialized views not yet refreshed.
Oh? There are dependencies that are supposed to prevent that.
Can you provide a self-contained example of a schema where
that doesn't work?
regards, tom lane
Ah, you know, a little deeper: it's an issue with a mat view unable to refresh because it uses a function, and within that function, there is a call to a mat view not yet materialized.
On Fri, Sep 6, 2024 at 6:33 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
Wells Oliver <wells.oliver@gmail.com> writes:
> Not the end of the world but I notice when running pg_restore that I
> encounter a few errors where materialized views cannot be refreshed because
> they query other materialized views not yet refreshed.
Oh? There are dependencies that are supposed to prevent that.
Can you provide a self-contained example of a schema where
that doesn't work?
regards, tom lane
Wells Oliver
wells.oliver@gmail.com
wells.oliver@gmail.com
Wells Oliver <wells.oliver@gmail.com> writes:
> Ah, you know, a little deeper: it's an issue with a mat view unable to
> refresh because it uses a function, and within that function, there is a
> call to a mat view not yet materialized.
Oh yes, pg_dump can't really see dependencies inside function bodies.
... Unless ... can you write the function as a new-style SQL
function (BEGIN ATOMIC instead of a string literal)?
Then I think it might work.
regards, tom lane