Thread: pgsql: Fix superuser concurrent refresh of matview owned by another.

pgsql: Fix superuser concurrent refresh of matview owned by another.

From
Kevin Grittner
Date:
Fix superuser concurrent refresh of matview owned by another.

Use SECURITY_LOCAL_USERID_CHANGE while building temporary tables;
only escalate to SECURITY_RESTRICTED_OPERATION while potentially
running user-supplied code.  The more secure mode was preventing
temp table creation.  Add regression tests to cover this problem.

This fixes Bug #11208 reported by Bruno Emanuel de Andrade Silva.

Backpatch to 9.4, where the bug was introduced.

Branch
------
REL9_4_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/06414c0f68e9f8039c1de40d009f12fa96c49192

Modified Files
--------------
src/backend/commands/matview.c        |   93 ++++++++++++++++-----------------
src/test/regress/expected/matview.out |   12 +++++
src/test/regress/sql/matview.sql      |   13 +++++
3 files changed, 70 insertions(+), 48 deletions(-)