]> granicus.if.org Git - postgresql/commit
Switch user ID to the object owner when populating a materialized view.
authorNoah Misch <noah@leadboat.com>
Fri, 12 Jul 2013 22:21:22 +0000 (18:21 -0400)
committerNoah Misch <noah@leadboat.com>
Fri, 12 Jul 2013 22:25:41 +0000 (18:25 -0400)
commitfb7c0ac42e1a8e3cde74e83e2c758ada8c62a35e
treeb1d0681b57e7db1524b7afa9ae968ba536eabe8b
parent7484f89daa33477e0027a86ae772f44fa99224ed
Switch user ID to the object owner when populating a materialized view.

This makes superuser-issued REFRESH MATERIALIZED VIEW safe regardless of
the object's provenance.  REINDEX is an earlier example of this pattern.
As a downside, functions called from materialized views must tolerate
running in a security-restricted operation.  CREATE MATERIALIZED VIEW
need not change user ID.  Nonetheless, avoid creation of materialized
views that will invariably fail REFRESH by making it, too, start a
security-restricted operation.

Back-patch to 9.3 so materialized views have this from the beginning.

Reviewed by Kevin Grittner.
doc/src/sgml/ref/create_materialized_view.sgml
src/backend/commands/createas.c
src/backend/commands/matview.c