#openGauss #入门 #安装 #数据库 #开源
知识来源:docs-opengauss.osinfra.cn/zh/
表 21 \set常用命令
名称
命令说明
取值范围
\set VERBOSITY value
这个选项可以设置为值default, verbose,terse之一以控制错误报告的冗余行。
value取值范围:default, verbose,terse
\set ON_ERROR_STOP value
如果设置了这个变量,脚本处理将马上停止。如果该脚本是从另外一个脚本调用的,那个脚本也会按同样的方式停止。如果最外层的脚本不是从一次交互的gsql会话中调用的而是用-f选项调用的,gsql将返回错误代码3,以示这个情况与致命错误条件的区别(错误代码为1)。
value取值范围为:on/off,true/false,yes/no,1/0
\set RETRY [retry_times]
用于控制是否开启语句出错场景下的重试功能,参数retry_times用来指定最大重试次数,缺省值为5,取值范围为5-10。当重试功能已经开启时,再次执行\set RETRY可以关闭该功能。
使用配置文件retry_errcodes.conf列举需要重试的错误码列表,该文件和gsql可执行程序位于同一级目录下。该配置文件为系统配置,非用户定义,不允许用户直接修改。
当前支持以下出错场景的重试:
- YY001:TCP通信错误,Connection reset by peer
- YY002:TCP通信错误,Connection reset by peer
- YY003:锁超时,Lock wait timeout.../wait transaction xxx sync time exceed xxx
- YY004:TCP通信错误,Connection timed out
- YY005:SET命令发送失败,ERROR SET query
- YY006:内存申请失败,memory is temporarily unavailable
- YY007:通信库错误,Memory allocate error
- YY008:通信库错误,No data in buffer
- YY009:通信库错误,Close because release memory
- YY010:通信库错误,TCP disconnect
- YY011:通信库错误,SCTP disconnect
- YY012:通信库错误,Stream closed by remote
- YY013:通信库错误,Wait poll unknown error
- YY014,YY015,53200,08006,08000,57P01,XX003,XX009等
同时,出错时gsql会查询数据库节点的连接状态,当状态异常时会sleep 1分钟再进行重试,能够覆盖大部分主备切换场景下的出错重试。
说明:
- 不支持事务块中的语句错误重试;
- 不支持通过ODBC、JDBC接口查询的出错重试;
- 含有unlogged表的sql语句,不支持节点故障后的出错重试;
- gsql客户端本身出现的错误,不在重跑考虑范围之内;
retry_times取值范围为:
#openGauss #入门 #安装 #数据库 #开源