SET TRANSACTION
功能描述
为事务设置特性。事务特性包括事务隔离级别、事务访问模式(读/写或者只读)。可以设置当前事务的特性(LOCAL),也可以设置会话的默认事务特性(SESSION),也可以设置当前数据库的全局会话的事务特性(GLOBAL)。
本文档只介绍
SET TRANSACTION
语句兼容MySQL的特性,原Vastbase的SET TRANSACTION
语法未做删除和修改,详见SET TRANSACTION。
Vastbase在MySQL兼容模式下,支持SET TRANSACTION
如下特性用法:
- 支持
SET [SESSION | GLOBAL] TRANSACTION
语句。
注意事项
该功能仅在数据库兼容模式为MySQL时支持(即数据库实例初始化时指定DBCOMPATIBILITY='B')。
语法格式
SET [ LOCAL | SESSION | GLOBAL ] TRANSACTION...
本文档仅列出部分语法,更多
SET TRANSACTION
语法请参考SET TRANSACTION。
参数说明
LOCAL
声明该命令只在当前事务中有效。
SESSION
声明这个命令只对当前会话起作用。
SET SESSION TRANSACTION
语句需要在B兼容模式下,设置GUC参数[b_format_behavior_compat_options]()为set_session_transaction后生效。取值范围:字符串,要符合标识符的命名规范。
GLOBAL
声明这个命令对当前数据库的全局会话生效。
作用范围:在集中式的B兼容模式下生效。对后续连接的会话生效。
示例
示例1: 设置当前会话的事务隔离级别、读写模式。
1、修改配置文件postgresql.conf。
b_format_behavior_compat_options='set_session_transaction'
2、设置当前会话的事务隔离级别、读写模式。
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
SET SESSION TRANSACTION READ ONLY;
示例2: 设置当前数据库全局会话的事务隔离级别。
SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;
SET GLOBAL TRANSACTION READ ONLY;