更新时间:2024-03-06 GMT+08:00
ALTER SESSION
功能描述
ALTER SESSION命令用于定义或修改那些对当前会话有影响的条件或参数。修改后的会话参数会一直保持,直到断开当前会话。
注意事项
- 如果执行SET TRANSACTION之前没有执行START TRANSACTION,则事务立即结束,命令无法显示效果。
- 可以用START TRANSACTION里面声明所需要的transaction_mode(s)的方法来避免使用SET TRANSACTION。
语法格式
- 设置会话的事务参数。
1 2
ALTER SESSION SET [ SESSION CHARACTERISTICS AS ] TRANSACTION { ISOLATION LEVEL { READ COMMITTED | READ UNCOMMITTED } | { READ ONLY | READ WRITE } } [, ...] ;
- 设置会话的其他运行时参数。
1 2 3 4 5 6 7 8 9 10
ALTER SESSION SET {{config_parameter { { TO | = } { value | DEFAULT } | FROM CURRENT }} | CURRENT_SCHEMA [ TO | = ] { schema | DEFAULT } | TIME ZONE time_zone | SCHEMA schema | NAMES encoding_name | ROLE role_name PASSWORD 'password' | SESSION AUTHORIZATION { role_name PASSWORD 'password' | DEFAULT } | XML OPTION { DOCUMENT | CONTENT } } ;
参数说明
修改会话涉及到的参数说明请参见SET语法中的参数说明。
示例
创建模式ds:
1
|
CREATE SCHEMA ds; |
设置模式搜索路径:
1
|
SET SEARCH_PATH TO ds, public; |
设置日期时间风格为传统的POSTGRES风格(日在月前):
1
|
SET DATESTYLE TO postgres, dmy; |
设置当前会话的字符编码为UTF8:
1
|
ALTER SESSION SET NAMES 'UTF8'; |
设置时区为加州伯克利:
1
|
SET TIME ZONE 'PST8PDT'; |
设置时区为意大利:
1
|
SET TIME ZONE 'Europe/Rome'; |
设置当前模式:
1
|
ALTER SESSION SET CURRENT_SCHEMA TO tpcds; |
设置XML OPTION为DOCUMENT:
1
|
ALTER SESSION SET XML OPTION DOCUMENT; |
创建角色joe,并设置会话的角色为joe:
1 2 |
CREATE ROLE joe WITH PASSWORD '{password}'; ALTER SESSION SET SESSION AUTHORIZATION joe PASSWORD '{password}'; |
切换到默认用户:
1
|
ALTER SESSION SET SESSION AUTHORIZATION default; |
相关链接
父主题: DDL语法