本文介绍如何设置AnalyticDB PostgreSQL版实例的SQL超时时间。
问题描述
SQL执行超过3小时后失败了,返回了如下报错信息:
ERROR: canceling statement due to statement timeoutTime: 10801445.540 ms (03:00:01.446)
问题原因
AnalyticDB PostgreSQL版的默认SQL超时时间为3小时,超过3小时的SQL将被终止。
解决方法
AnalyticDB PostgreSQL版提供了statement_timeout参数,用于修改SQL超时时间。您可以以下来修改statement_timeout参数值:
- 通过控制台修改(实例级别):
- 登录云原生数据仓库AnalyticDB PostgreSQL版控制台。
- 在控制台左上角,选择实例所在地域。
- 找到目标实例,单击实例ID。
- 在左侧导航栏中,单击参数配置。
- 在参数配置页面,找到statement_timeout参数,单击运行值列的
图标。
- 输入目标参数值。
- 取值范围为0~2147483647。
- 0表示关闭SQL超时功能。
- 单位为毫秒(ms)。
说明 建议SQL超时时间大于1分钟(60000毫秒),避免SQL超时时间对其它任务产生影响。 - 单击确定。
- 单击页面右上方的提交。
- 在参数修改对话框中,单击确定。
- 通过SQL语句修改(会话级别):
SET statement_timeout = 0;
- 通过SQL语句修改(用户级别):
ALTER ROLE <username> SET statement_timeout TO 600000;
说明 请将username
替换成需要设置SQL语句超时时间的数据库账号。