GetUserId() changes to has_privs_of_role()
authorStephen Frost <sfrost@snowman.net>
Thu, 19 Mar 2015 19:02:33 +0000 (15:02 -0400)
committerStephen Frost <sfrost@snowman.net>
Thu, 19 Mar 2015 19:02:33 +0000 (15:02 -0400)
commitbf038899965263dbc4aef2b43c8fdfe6f49b788f
treef69bedcc39eee9b9916047915de92e00d8448761
parent12968cf4085409c50f70c6643d92befdb34008f6
GetUserId() changes to has_privs_of_role()

The pg_stat and pg_signal-related functions have been using GetUserId()
instead of has_privs_of_role() for checking if the current user should
be able to see details in pg_stat_activity or signal other processes,
requiring a user to do 'SET ROLE' for inheirited roles for a permissions
check, unlike other permissions checks.

This patch changes that behavior to, instead, act like most other
permission checks and use has_privs_of_role(), removing the 'SET ROLE'
need.  Documentation and error messages updated accordingly.

Per discussion with Alvaro, Peter, Adam (though not using Adam's patch),
and Robert.

Reviewed by Jeevan Chalke.
doc/src/sgml/func.sgml
src/backend/utils/adt/misc.c
src/backend/utils/adt/pgstatfuncs.c