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

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: wagner(dot)engel(at)gmail(dot)com
Cc: pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #16202: Cannot restore database that has materialized view using crosstab (tablefunc)
Date: 2020-01-10 18:04:05
Message-ID: 12604.1578679445@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

PG Bug reporting form <noreply(at)postgresql(dot)org> 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

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Wagner Engel 2020-01-10 18:30:42 Re: BUG #16202: Cannot restore database that has materialized view using crosstab (tablefunc)
Previous Message PG Bug reporting form 2020-01-10 17:38:05 BUG #16202: Cannot restore database that has materialized view using crosstab (tablefunc)