云数据库 GAUSSDB-安全和认证:idle_in_transaction_timeout
idle_in_transaction_timeout
参数说明:表明与服务器建立连接并开启事务后,事务空闲并不进行任何操作的最长时间。当该参数取值不为0,事务空闲并不进行任何操作的时间超过该参数取值后,会与服务器断开连接。
参数类型:整型
参数单位:秒(s)
取值范围:0 ~ 86400(1d)
- 0表示关闭超时设置。
- 正数表示与服务器建立连接并开启事务后,事务空闲并不进行任何操作的最长时间。当超过设定的值后,会与服务器断开连接。
默认值:300(即5min)
设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。例如,不带单位取值600,表示idle_in_transaction_timeout为600s;带单位取值10min,表示idle_in_transaction_timeout为10min。取值如果要带单位,必须为s、min、h、d。
设置建议:参数值设置越小越安全,但用户使用越不便,依据业务安全诉求设定。
设置不当的风险与影响:参数设置过小,可能会使得事务开启后,客户端应用在运行过程中没有及时发送新的请求,从而导致会话超时退出,影响用户使用。
- GaussDB gsql客户端中有自动重连机制,所以针对初始化用户本地连接,超时后gsql表现的现象为断开后重连。
- idle_in_transaction_timeout与session_timeout同时开启时,在事务空闲状态下都会生效,以配置较小的超时时间为准。
- 新下发实例该参数取值为300,升级实例默认为0。
- 空闲事务超时后,日志中会打印事务的开始时间、线程id、应用名以及query等信息。该日志用于空闲事务超时退出问题定位,不包含前缀格式log_line_prefix。