全部產品
Search
文件中心

PolarDB:SHOW DDL

更新時間:Jul 06, 2024

一條DDL語句會以一個DDL任務方式在PolarDB-X內部執行,使用SHOW DDL命令可以查看當前PolarDB-X執行個體中的DDL任務。

文法

SHOW [FULL] DDL;

樣本

SHOW DDL\G;
*************************** 1. row ***************************
           JOB_ID: 1359947811109470208
    OBJECT_SCHEMA: d1
      OBJECT_NAME: t2
           ENGINE: DAG
         DDL_TYPE: ALTER_TABLE
            STATE: PAUSED
BACKFILL_PROGRESS: 0%
 PHY_DDL_PROGRESS: 100%
         PROGRESS: 20%
       START_TIME: 2021-08-05 11:01:25.291
         END_TIME: 2021-08-05 11:02:27.020
 ELAPSED_TIME(MS): 61729
      PHY_PROCESS: 
       CANCELABLE: true
1 row in set (0.03 sec)

返回參數說明

參數名稱說明
JOB_IDDDL任務唯一標識,取值需為64位有符號長整型數值。
OBJECT_SCHEMADDL任務對象的Schema名稱。
OBJECT_NAMEDDL任務對象名稱,例如當前執行DDL的表名稱。
ENGINEDDL任務引擎類型,預設為DAG。
DDL_TYPEDDL任務類型,例如,CREATE_TABLE
STATEDDL任務當前所處的狀態,具體請參見DDL狀態
BACKFILL_PROGRESSDDL任務中,資料回填的進度。
PHY_DDL_PROGRESSDDL任務中,當前執行的一批物理DDL的進度。
PROGRESSDDL任務的總體進度。
START_TIMEDDL任務開始執行的時間。
END_TIMEDDL任務結束執行的時間。
ELAPSED_TIME(MS)DDL任務截止到任務查看時已經消耗的時間,單位:毫秒。
PHY_PROCESS執行中的物理DDL的狀態。
CANCELABLEDDL任務是否可通過CANCEL DDL命令取消。

DDL狀態

SHOW DDL命令返回的STATE欄位標示了DDL任務的狀態,狀態轉移圖如下所示:DDL狀態

絕大多數情況,DDL任務會按照QUEUED->RUNNING->COMPLETED的流程執行成功。

異常情況下,DDL任務可能會自動復原,此時的流程為QUEUED->RUNNING->ROLLBACK_RUNNING->ROLLBACK_COMPLETED

特殊情況下,DDL任務的狀態還可以通過命令幹預,上圖中箭頭上展示的是可用於修改DDL任務狀態的命令。