SET SESSIONAUTHORIZATION
Sets the session role identifier and thecurrent role identifier of the current session.
Synopsis
SET [SESSION |LOCAL] SESSION AUTHORIZATION rolename
SET [SESSION |LOCAL] SESSION AUTHORIZATION DEFAULT
RESET SESSIONAUTHORIZATION
Description
此命令将会话角色标识符和当前SQL会话上下文的当前角色标识符设置为角色名称。角色名称可以写成标识符或字符串文字。例如,使用此命令可以暂时成为非特权用户,然后再切换回超级用户。
会话角色标识符最初设置为客户端提供的(可能已认证的)角色名称。
当前的角色标识符通常等于会话用户标识符,但是可能在setuid函数和类似机制的情况下暂时改变;它也可以通过SET ROLE进行更改。当前用户标识符与权限检查相关。
会话用户标识只有在初始会话用户(认证用户)具有超级用户权限的情况下才能被改变。否则,该命令仅在指定了经过验证的用户名时才被接受。
DEFAULT和RESET形式将会话和当前用户标识符重置为最初认证的用户名