文档

如何设置SQL语句超时时间

更新时间:

本文介绍如何设置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参数值:

  • 方式一:通过控制台修改(实例级别):

    1. 登录云原生数据仓库AnalyticDB PostgreSQL版控制台

    2. 在控制台左上角,选择实例所在地域。

    3. 找到目标实例,单击实例ID。

    4. 在左侧导航栏中,单击参数配置

    5. 参数配置页面,找到statement_timeout参数,单击运行值列的参数修改图标。

    6. 输入目标参数值。

      • 取值范围为0~2147483647。

      • 0表示关闭SQL超时功能。

      • 单位为毫秒(ms)。

      说明

      建议SQL超时时间大于1分钟(60000毫秒),避免SQL超时时间对其它任务产生影响。

    7. 单击确定

    8. 单击页面右上方的提交

    9. 参数修改对话框中,单击确定

  • 方式二:通过SQL语句修改。

    • 会话级别:

      SET statement_timeout = 0;
    • 用户级别:

      ALTER ROLE <username> SET statement_timeout TO 600000;
      说明

      请将username替换成需要设置SQL语句超时时间的数据库账号。

  • 本页导读 (1)
文档反馈