Re: BUG #15282: Materialized view with transitive TYPE dependency fails refresh using pg_restore and psql

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: Raw Message | Whole Thread | 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

In response to

Responses

Browse pgsql-bugs by date

  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