ALTER SESSION

功能描述

ALTER SESSION命令用于定义或修改那些对当前会话有影响的条件或参数。修改后的会话参数会一直保持,直到断开当前会话。

注意事项

  • 如果执行SET TRANSACTION之前没有执行START TRANSACTION,则事务立即结束,命令无法显示效果。
  • 可以用START TRANSACTION里面声明所需要的transaction_mode(s)的方法来避免使用SET TRANSACTION。

语法格式

  • 设置会话的事务参数。

1. ALTER SESSION SET [ SESSION CHARACTERISTICS AS ] TRANSACTION 2. { ISOLATION LEVEL { READ COMMITTED } | { READ ONLY | READ WRITE } } [, ...] ; - 设置会话的其他运行时参数。

1. ALTER SESSION SET 2. {{config_parameter { { TO | = } { value | DEFAULT } 3. | FROM CURRENT }} 4. | TIME ZONE time_zone 5. | CURRENT_SCHEMA schema 6. | NAMES encoding_name 7. | ROLE role_name PASSWORD 'password' 8. | SESSION AUTHORIZATION { role_name PASSWORD 'password' | DEFAULT } 9. | XML OPTION { DOCUMENT | CONTENT } 10. } ;

参数说明

修改会话涉及到的参数说明请参见SET语法中的参数说明。

示例

1. -- 创建模式ds。
2. openGauss=# CREATE SCHEMA ds;

4. --设置模式搜索路径。
5. openGauss=# SET SEARCH_PATH TO ds, public;

7. --设置日期时间风格为传统的POSTGRES风格(日在月前)。
8. openGauss=# SET DATESTYLE TO postgres, dmy;

10. --设置当前会话的字符编码为UTF8。
11. openGauss=# ALTER SESSION SET NAMES 'UTF8';

13. --设置时区为加州伯克利。
14. openGauss=# SET TIME ZONE 'PST8PDT';

16. --设置时区为意大利。
17. openGauss=# SET TIME ZONE 'Europe/Rome';

19. --设置当前模式。
20. openGauss=# ALTER SESSION SET CURRENT_SCHEMA TO tpcds;

22. --设置XML OPTION为DOCUMENT。
23. openGauss=# ALTER SESSION SET XML OPTION DOCUMENT;

25. --创建角色joe,并设置会话的角色为joe。
26. openGauss=# CREATE ROLE joe WITH PASSWORD 'xxxxxxxxx';
27. openGauss=# ALTER SESSION SET SESSION AUTHORIZATION joe PASSWORD 'xxxxxxxxx';

29. --切换到默认用户。
30. openGauss=> ALTER SESSION SET SESSION AUTHORIZATION default;

32. --删除ds模式。
33. openGauss=# DROP SCHEMA ds;

35. --删除joe。
36. openGauss=# DROP ROLE joe;

相关链接

SET