| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
|---|---|
| To: | kwhickey(at)gmail(dot)com |
| Cc: | pgsql-bugs(at)lists(dot)postgresql(dot)org |
| Subject: | Re: BUG #15282: Materialized view with transitive TYPE dependency fails refresh using pg_restore and psql |
| Date: | 2018-07-17 17:11:38 |
| Message-ID: | 17166.1531847498@sss.pgh.pa.us |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-bugs |
=?utf-8?q?PG_Bug_reporting_form?= <noreply(at)postgresql(dot)org> writes:
> A materialized view runs a select query that uses a function on one of its
> projected columns which internally uses an enum TYPE to map the column value
> to an enum value.
> Action and Resulting Error:
> Trying to restore a database setup in the above way will fail with error:
> ERROR: type "<type_name>" does not exist
If this started happening recently, the problem is likely that the type
is not in the restrictive search_path that dump/restore now uses. You
could possibly fix it just by schema-qualifying the type name in the
function body. However, that may only let you get as far as the next
failure of the same kind. A better fix is to add a "SET search_path"
clause to the function definition so that it works independently of
what the caller's search path is.
regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Thomas Butz | 2018-07-18 09:14:55 | Autovacuum analyze can't find C based function |
| Previous Message | Moshe Jacobson | 2018-07-17 16:02:35 | Re: pg_restore: All GRANTs on table fail when any one role is missing |