华为云云数据库GaussDBALTER 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语法中的参数说明。

示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
-- 创建模式ds。
gaussdb=# CREATE SCHEMA ds;

--设置模式搜索路径。
gaussdb=# SET SEARCH_PATH TO ds, public;

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

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

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

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

--设置当前模式。
gaussdb=# ALTER SESSION SET CURRENT_SCHEMA TO tpcds;

--设置XML OPTION为DOCUMENT。
gaussdb=# ALTER SESSION SET XML OPTION DOCUMENT;

--创建角色joe,并设置会话的角色为joe。
gaussdb=# CREATE ROLE joe WITH PASSWORD '********';
gaussdb=# ALTER SESSION SET SESSION AUTHORIZATION joe PASSWORD '********';

--切换到默认用户。
gaussdb=> ALTER SESSION SET SESSION AUTHORIZATION default;

--删除ds模式。
gaussdb=# DROP SCHEMA ds;

--删除joe。
gaussdb=# DROP ROLE joe;

相关链接

SET

父主题: SQL语法

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家