Re: BUG #16202: Cannot restore database that has materialized view using crosstab (tablefunc)

Tom Lane <[email protected]> Fri, 10 Jan 2020 13:04:05 -0500
Newsgroups gmane.comp.db.postgresql.bugs
Message-ID <[email protected]>
PG Bug reporting form <[email protected]> writes:
> If I build a materizalized view that uses the crosstab() function, a
> dump/restore cycle will not restore the database.

> CREATE VIEW v AS
> SELECT * FROM crosstab (
> 	'SELECT id FROM t as t1',
> 	'SELECT id FROM t as t2'
> ) ct (a integer, b integer);

This view is unsafe because it doesn't schema-qualify its reference
to table t.  It will fail if run with a restrictive search_path,
which is what pg_dump does for security reasons.

An ordinary view reference to "t" would be all right, because the
system understands what that is and can adjust the schema qualification;
but here you've just got a string that happens to contain "t" in it.

			regards, tom lane