更新时间:2024-09-02 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

取值范围:整型,1~2147483647。

默认值:30

idle_in_transaction_timeout

参数说明: 设置允许事务处于idle空闲状态的时间。当事务处于idle状态超过该时间后,会终止本事务。功能仅对直连CN的客户端连接生效,对直连DN或内部连接不生效。该参数仅8.2.1.100及以上集群版本支持。

参数类型:USERSET

取值范围:0 ~ 86400,单位为秒。

默认值:0,表示功能不开启。