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
------
master

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

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(-)