更新时间:2022-07-29 GMT+08:00

集群事务

介绍集群事务隔离、事务只读、最大prepared事务数、集群维护模式目的参数设置及取值范围等内容。

transaction_isolation

参数说明设置当前事务的隔离级别。

参数类型:USERSET

取值范围:

  • read committed:读已提交隔离级别,只能读到已经提交的数据,而不会读到未提交的数据。这是缺省值。
  • read uncommitted:读未提交隔离级别,GaussDB(DWS)不支持read uncommitted,如果设置了read uncommitted,实际上使用的是read committed。
  • repeatable read:可重复读隔离级别,仅仅能看到事务开始之前提交的数据,不能看到未提交的数据,以及在事务执行期间由其它并发事务提交的修改。
  • serializable:事务可序列化,GaussDB(DWS)不支持SERIALIZABLE,如果设置了serializable,实际上使用的是repeatable read。

默认值:read committed

transaction_read_only

参数说明:设置当前事务是只读事务。

参数类型:USERSET

取值范围:布尔型

  • on表示设置当前事务为只读事务。
  • off表示该事务可以是非只读事务。

默认值:CN节点为off,DN节点为on。

xc_maintenance_mode

参数说明:设置系统进入维护模式。

参数类型:SUSET

取值范围:布尔型

  • on表示该功能启用。
  • off表示该功能被禁用。

默认值:off

谨慎打开这个开关,避免引起集群数据不一致。

allow_concurrent_tuple_update

参数说明:设置是否允许并发更新。

参数类型:USERSET

取值范围:布尔型

  • on表示该功能启用。
  • off表示该功能被禁用。

默认值:on

gtm_backup_barrier

参数说明:指定是否为GTM启动点创建还原点。

参数类型:SUSET

取值范围:布尔型

  • on表示创建还原点。
  • off表示不创建还原点。

默认值:off

gtm_conn_check_interval

参数说明:设置CN检查本地线程与主GTM连接是否正常时间。

参数类型:SIGHUP

取值范围:整型, 0 ~ INT_MAX / 1000,单位为秒。

默认值:10s

transaction_deferrable

参数说明:指定是否允许一个只读串行事务延迟执行,使其不会执行失败。该参数设置为on时,当一个只读事务发现读取的元组正在被其他事务修改,则延迟该只读事务直到其他事务修改完成。目前,GaussDB(DWS)暂时未用到这个参数。与该参数类似的还有一个default_transaction_deferrable,设置它来指定一个事务是否允许延迟。

参数类型:USERSET

取值范围:布尔型

  • on表示允许执行。
  • off表示不允许执行。

默认值:off

enforce_two_phase_commit

参数说明:为了兼容历史版本功能保留该参数,当前版本设置无效。

enable_show_any_tuples

参数说明:该参数只有在只读事务中可用,用于分析。当这个参数被置为on/true时,表中元组的所有版本都会可见。

参数类型:USERSET

取值范围:布尔型

  • on/true表示表中元组的所有版本都会可见。
  • off/false表示表中元组的所有版本都不可见。

默认值:off

gtm_connect_retries

参数说明:控制GTM连接重试的次数。

参数类型:SIGHUP

取值范围:int,最小值为1,最大值为2147483647。

默认值:30

enable_redistribute

参数说明:节点不匹配时是否重新分配。

参数类型:SUSET

取值范围:布尔型

  • on表示节点不匹配时重新分配。
  • off表示节点不匹配时不重新分配

默认值:off

enable_gtm_free

参数说明:大并发场景下同一时刻存在活跃事务较多,GTM下发的快照变大且快照请求变多的情况下,瓶颈卡在GTM与CN通讯的网络上。为消除该瓶颈,引入GTM-FREE模式。取消CN和GTM的交互,取消CN下发GTM获取的事务信息给DN。CN只向各个DN发送query,各个DN由本地产生快照及xid等信息,开启该参数支持分布式事务读最终一致性,即分布式事务只有写外部一致性,不具有读外部一致性

对于要求强一致性读的OLTP场景或OLAP场景,建议不要开启该参数。GaussDB(DWS)不支持该特性,设置后无法生效。

参数类型:SUSET

取值范围:布尔型

  • on表示开启GTM-FREE模式,集群状态为读最终一致性。
  • off表示非GTM-FREE模式。

默认值:off