pgsql: Switch user ID to the object owner when populating a materialize

From: Noah Misch <noah(at)leadboat(dot)com>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Switch user ID to the object owner when populating a materialize
Date: 2013-07-12 22:30:01
Message-ID: E1Uxlqj-0007rE-S7@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

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.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/f3ab5d46960023cf8a9df3751ab9748ce01a46a0

Modified Files
--------------
doc/src/sgml/ref/create_materialized_view.sgml | 4 +++-
src/backend/commands/createas.c | 30 ++++++++++++++++++++++++
src/backend/commands/matview.c | 19 +++++++++++++++
3 files changed, 52 insertions(+), 1 deletion(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Noah Misch 2013-07-13 00:51:52 Re: SSL renegotiation
Previous Message Alvaro Herrera 2013-07-12 20:32:52 Re: SSL renegotiation