第二章 SQL命令参考-SET SESSIONAUTHORIZATION
2017-11-17 19:37
190 查看
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形式将会话和当前用户标识符重置为最初认证的用户名。这些形式可以由任何用户执行。
Parameters
SESSION
指定该命令对当前会话生效。 这是默认的。
LOCAL
指定该命令仅对当前事务生效。 COMMIT或ROLLBACK后,会话级别的设置再次生效。 请注意,如果SET LOCAL在事务外执行,则它将不起作用。
rolename
要承担的角色的名称。
NONE
RESET
将会话和当前角色标识重置为用于登录的角色标识。
Examples
SELECTSESSION_USER, CURRENT_USER;
session_user |current_user
--------------+--------------
peter | peter
SET SESSIONAUTHORIZATION 'paul';
SELECTSESSION_USER, CURRENT_USER;
session_user |current_user
--------------+--------------
paul| paul
Compatibility
SQL标准允许一些其他表达式代替文字角色名称,但这些选项在实践中并不重要。 Greenplum数据库允许标识符语法(角色名),而SQL不支持。 SQL在事务过程中不允许此命令; Greenplum数据库不做这个限制。 SESSION和LOCAL修饰符是一个Greenplum数据库扩展,RESET语法也是如此。
See Also
SETROLE
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形式将会话和当前用户标识符重置为最初认证的用户名。这些形式可以由任何用户执行。
Parameters
SESSION
指定该命令对当前会话生效。 这是默认的。
LOCAL
指定该命令仅对当前事务生效。 COMMIT或ROLLBACK后,会话级别的设置再次生效。 请注意,如果SET LOCAL在事务外执行,则它将不起作用。
rolename
要承担的角色的名称。
NONE
RESET
将会话和当前角色标识重置为用于登录的角色标识。
Examples
SELECTSESSION_USER, CURRENT_USER;
session_user |current_user
--------------+--------------
peter | peter
SET SESSIONAUTHORIZATION 'paul';
SELECTSESSION_USER, CURRENT_USER;
session_user |current_user
--------------+--------------
paul| paul
Compatibility
SQL标准允许一些其他表达式代替文字角色名称,但这些选项在实践中并不重要。 Greenplum数据库允许标识符语法(角色名),而SQL不支持。 SQL在事务过程中不允许此命令; Greenplum数据库不做这个限制。 SESSION和LOCAL修饰符是一个Greenplum数据库扩展,RESET语法也是如此。
See Also
SETROLE
相关文章推荐
- 第二章 SQL命令参考-CREATE TABLE AS
- 第二章 SQL参考命令-CLUSTER
- 第二章 SQL命令参考-REASSIGN OWNED
- 第二章 SQL命令参考-ROLLBACK TO SAVEPOINT
- 第二章 SQL命令参考-SELECT
- 第二章 SQL命令参考-ALTER FUNCTION
- 第二章 SQL命令参考-LOAD
- 第二章 SQL命令参考-UPDATE
- 第二章 SQL命令参考-DELETE
- 第二章 SQL命令参考-INSERT
- 第二章 SQL命令参考- VACUUM
- 第二章 SQL命令参考-VALUES
- 第二章 SQL参考命令-CHECKPOINT
- 第二章 SQL参考命令-CLOSE
- 第二章 SQL命令参考-CREATE VIEW
- 第二章 SQL命令参考- SELECT INTO
- 第二章 SQL命令参考-FETCH
- 第二章 SQL命令参考-TRUNCATE
- 第二章 SQL命令参考-PREPARE
- 第二章 SQL命令参考-ALTER CONVERSION