全部產品
Search
文件中心

AnalyticDB:如何設定SQL語句逾時時間

更新時間:Feb 05, 2024

本文介紹如何設定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語句逾時時間的資料庫帳號。