From: | Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at> |
---|---|
To: | Pascal CROZET <pascal(dot)crozet(at)metanext(dot)com>, pgsql-admin <pgsql-admin(at)postgresql(dot)org> |
Subject: | Re: ERROR: type "my_user_type" does not exist on REFRESH MATERIALIZED VIEW |
Date: | 2022-06-10 15:57:04 |
Message-ID: | ff953d5f710168f2af17d510a847d079e94a98c7.camel@cybertec.at |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin |
On Thu, 2022-06-09 at 19:52 +0000, Pascal CROZET wrote:
> Hi DBA's (PG 12.10 on Ubuntu 20.04)
>
> In a restoration from a full plain text database ( xzcat my_database.sql.xz | psql ), I've this issue at the end.
>
> REFRESH MATERIALIZED VIEW
> ERROR: type "row_reporting_p" does not exist
> LINE 3: _row row_reporting_p;
> ^
> QUERY:
> DECLARE
> _row row_reporting_p;
>
> BEGIN
>
> -- my code
>
> END
>
> CONTEXT: compilation of PL/pgSQL function "get_row_reporting_new" near line 3
> ERROR: type "row_reporting_p" does not exist
> LINE 23: _row row_reporting_p;
>
> Of course, the user type is present and well restored before, 'cause the last SQL commands
> from the file are forREFRESH MATERIALZED VIEW vm_my_materialized_view;
>
> When I refresh the materialized view manually, from psql, the refresh is well.
> This issue is only present on databases using user type. On other databases restoration,
> not using user type, I haven't this isssue.
>
> Is it a PostGreSql bug ? Thanks
I would have to see the dump to be certain, but my guess is that you need to make the function
independent from the current setting of "search_path" by schema-qualifying the data type:
DECLARE
_row my_schema.row_reporting_p;
Yours,
Laurenz Albe
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2022-06-10 16:15:07 | Re: ERROR: type "my_user_type" does not exist on REFRESH MATERIALIZED VIEW |
Previous Message | Tim | 2022-06-10 15:42:00 | Re: pg_basebackup and pg_receivewal timing, missing WAL files |