diff --git a/doc/src/sgml/ref/set_role.sgml b/doc/src/sgml/ref/set_role.sgml index 0ef6eb9..d219a1e 100644 *** a/doc/src/sgml/ref/set_role.sgml --- b/doc/src/sgml/ref/set_role.sgml *************** RESET ROLE *** 42,48 **** The specified role_name ! must be a role that the current session user is a member of. (If the session user is a superuser, any role can be selected.) --- 42,48 ---- The specified role_name ! must be a role that the current session user is a MEMBER of. (If the session user is a superuser, any role can be selected.) *************** RESET ROLE *** 63,78 **** Notes ! Using this command, it is possible to either add privileges or restrict ! one's privileges. If the session user role has the INHERITS ! attribute, then it automatically has all the privileges of every role that ! it could SET ROLE to; in this case SET ROLE ! effectively drops all the privileges assigned directly to the session user ! and to the other roles it is a member of, leaving only the privileges ! available to the named role. On the other hand, if the session user role ! has the NOINHERITS attribute, SET ROLE drops the ! privileges assigned directly to the session user and instead acquires the ! privileges available to the named role. --- 63,94 ---- Notes ! Role "X" is a MEMBER of role "Y" if there is a chain of ! grants between them. Additionally, role "X" has USAGE ! of "Y", if "X", and all intermediate roles (but not necessarily "Y" itself), ! are marked with the INHERIT attribute (which is the default). ! See the pg_has_role() ! for more information. ! ! ! ! Every role automatically has all the privileges it has been granted directly, ! as well as that of every role with which it has USAGE. ! However role attributes (as defined by CREATE ROLE or ! ALTER ROLE) are not directly acquired from other roles. ! Role attributes may only be gained via the SET ROLE command. ! ! ! ! The SET ROLE command drops all privileges assigned directly ! to the session user and instead acquires the privileges available to the target ! role, including any roles for which the target has USAGE. ! The net effect is that the SET ROLE command may either add ! privileges or restrict privileges. When the session role has ! USAGE on the target role, the remaining privileges will be ! equal to, or a subset of, the original privileges. On the other hand, ! when the session role does not have USAGE on the target ! role, the privileges may be completely different, and possibly expanded.