Re: ERROR: type "my_user_type" does not exist on REFRESH MATERIALIZED VIEW - Mailing list pgsql-admin

From Guillaume Lelarge
Subject Re: ERROR: type "my_user_type" does not exist on REFRESH MATERIALIZED VIEW
Date
Msg-id CAECtzeW2xPFWxT9kxfxFzZvgQeeiVjnUb5s+0fJQvrgPviRo4g@mail.gmail.com
Whole thread Raw
In response to ERROR: type "my_user_type" does not exist on REFRESH MATERIALIZED VIEW  (Pascal CROZET <pascal.crozet@metanext.com>)
List pgsql-admin
Hi,

Le ven. 10 juin 2022, 12:40, Pascal CROZET <pascal.crozet@metanext.com> a écrit :
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;
                  ^
QUERY:  

DECLARE
    _row row_reporting_p;
BEGIN

    -- my code
    
END
CONTEXT:  compilation of PL/pgSQL function "fs_get_row_reporting" near line 23

Of course, the user type is present and well restored before, 'cause the last SQL commands from the file are for REFRESH 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 don't think so. Pretty sure you need to qualify the type's name with its schema's name.


-- 
Guillaume

pgsql-admin by date:

Previous
From: David Steele
Date:
Subject: Re: pg_basebackup and pg_receivewal timing, missing WAL files
Next
From: Tim
Date:
Subject: Re: pg_basebackup and pg_receivewal timing, missing WAL files