jeff(dot)casavant(at)gmail(dot)com writes:
> Code to reproduce:
> create function b() returns int as $$ select 1 $$ language sql;
> create function a() returns int as $$ select b() $$ language sql;
> create schema qwr;
> create materialized view qwr.c as select a();
This is not a pg_dump bug, this is a broken definition of function a().
That function will fail in any context where the caller changes
search_path, not only pg_dump. You can perhaps get away without that
in a single-schema database, but not with multiple schemas.
You could fix it by schema-qualifying b in the text of a,
or by adding a "SET schema_path" clause to a.
regards, tom lane