云数据库 GAUSSDB-事务:事务相关的GUC参数

时间:2024-11-28 20:08:31

事务相关的GUC参数

表2 事务相关的GUC参数差异

GUC参数

功能

差异

autocommit

设置事务自动提交模式。

-

transaction_isolation

GaussDB 中是设置当前事务的隔离级别。

在MySQL中是设置会话级事务的隔离级别。

  • GaussDB中,通过使用SET命令,只能改变当前事务的隔离级别。如果想要改变会话级的隔离级别,可以使用default_transaction_isolation。在MySQL中,通过使用SET命令,可以改变会话级的事务隔离级别。
  • 支持范围差异。
    MySQL中,支持以下隔离级别设置,对大小写不敏感,对空格敏感:
    • READ-COMMITTED
    • READ-UNCOMMITTED
    • REPEATABLE-READ
    • SERIALIZABLE
    GaussDB中,支持以下隔离级别设置,对大小写和空格敏感:
    • read committed
    • read uncommitted
    • repeatable read
    • serializable
    • default (设置和会话中默认隔离级别一样)
    • 设置m_format_dev_version = 's2'时,支持MySQL的隔离级别设置。
  • 在GaussDB中,新事务的transaction_isolation值将被初始化为default_transaction_isolation的值。
  • 设置m_format_dev_version = 's2'时:
    • 以下语句是设置下一个事务特性:set @@transaction_isolation = value; set transaction isolation level value。
    • 以下语句修改会话级事务特性:set [local|session|@@session.] transaction_isolation = value。
    • 下一个事务特性不允许在事务内使用,如果隐式事务报错,即单个SQL语句报错,继续保持下一个事务特性。

tx_isolation

设置事务的隔离级别;

tx_isolation和transaction_isolation是同义词。

GaussDB中只支持查询,不支持修改。

default_transaction_isolation

设置事务的隔离级别。

GaussDB中通过SET设置会改变会话级事务隔离级别。

MySQL中不支持该系统参数。

transaction_read_only

在GaussDB中是设置当前事务的访问模式。

在MySQL中是设置会话级事务的访问模式。

  • 在GaussDB中,通过使用SET命令,只能改变当前事务的访问模式。如果想要改变会话级的访问模式,可以使用default_transaction_read_only。

    在MySQL中,通过使用SET命令,可以改变会话级的事务隔离级别。

  • 在GaussDB中,新事务的transaction_read_only值将被初始化为default_transaction_read_only的值。
  • 设置m_format_dev_version = 's2'时:
    • 以下语句是设置下一个事务特性:set @@transaction_read_only = value; set transaction {read write | read only}。
    • 以下语句修改会话级事务特性:set [local|session|@@session.] transaction_read_only = value。
    • 下一个事务特性不允许在事务内使用,如果隐式事务报错,即单个SQL语句报错,继续保持下一个事务特性。

tx_read_only

设置事务的访问模式。tx_read_only和transaction_read_only是同义词。

GaussDB中只支持查询,不支持修改。

default_transaction_read_only

设置事务的访问模式。

GaussDB中通过SET设置会改变会话级事务访问模式;MySQL中不支持该系统参数。

support.huaweicloud.com/productdesc-gaussdb/gaussdb-83-0056.html