Sets the current role for a session. It does not distinguish between directory- and database-managed roles.
You cannot use SET ROLE in a procedure definition.
SET ROLE ALL enables all roles granted to the user submitting the SET ROLE statement, including nested roles.
Use of SET ROLE EXTERNAL requires that the user is a directory user and is mapped to the external role object in the directory. For details, see Security Administration, B035-1100.
The use of SET ROLE is not permitted in a trusted session. The active roles for trusted sessions must be defined using the SET QUERY_BAND request. SeeSET QUERY_BAND.
|SET ROLE NONE
SET ROLE NULL
|No privilege is needed to disable the current role for a session.|
|SET ROLE role_name||The role must already be granted to you.|
|SET ROLE ALL||No privilege is needed and you are not required to have any roles granted to you.|
|SET ROLE EXTERNAL||At least one role must already be assigned (mapped) to you in the directory. See Security Administration.|