On 2020-11-17 02:32, Michael Paquier wrote:
The SQL standard says that for CREATE TABLE AS, the INSERT "is effectively
executed without further Access Rule checking", which means the INSERT
privilege shouldn't be required at all. I suggest we consider doing that
instead. I don't see a use for the current behavior.
Hmm. Is there anything specific for materialized views? They've
checked for INSERT privileges at this phase since their introduction
in 3bf3ab8c.
Materialized views are not in the SQL standard.
But if you consider materialized views as a variant of normal views,
then the INSERT privilege would be applicable if you pass an INSERT on
the materialized view through to the underlying tables, like for a view.
Also note that REFRESH on a materialized view does not check any
privileges (only ownership), so having a privilege that only applies
when the materialized view is created doesn't make sense.