ADMIN PAUSE DDL JOBS

ADMIN PAUSE DDL 语句用于暂停当前正在运行的 DDL 作业。可以通过 ADMIN SHOW DDL JOBS 语句获取 DDL 作业的 job_id

该语句可用于暂停已经发起但未执行完成的 DDL 任务。成功暂停后,执行 DDL 任务的 SQL 语句不会立即返回,表现为正在执行。如果尝试暂停一个已经完成的 DDL 任务,会在 RESULT 列看到 DDL Job:90 not found 的错误,表示该任务已从 DDL 等待队列中被移除。

语法图

AdminStmt
ADMINSHOWDDLJOBSInt64NumWhereClauseOptionalJOBQUERIESNumListTableNameNEXT_ROW_IDSLOWAdminShowSlowCHECKTABLETableNameListINDEXTableNameIdentifierHandleRange,RECOVERINDEXTableNameIdentifierCLEANUPINDEXTableNameIdentifierTABLELOCKTableNameListCHECKSUMTABLETableNameListCANCELDDLJOBSNumListPAUSEDDLJOBSNumListRESUMEDDLJOBSNumListRELOADEXPR_PUSHDOWN_BLACKLISTOPT_RULE_BLACKLISTBINDINGSPLUGINSENABLEDISABLEPluginNameListREPAIRTABLETableNameCreateTableStmtFLUSHCAPTUREEVOLVEBINDINGS
NumList
Int64Num,

示例

可以通过 ADMIN PAUSE DDL JOBS 语句暂停当前正在运行的 DDL 作业,并返回对应作业是否暂停成功,直到被 ADMIN RESUME DDL JOBS 恢复:

ADMIN PAUSE DDL JOBS job_id [, job_id] ...;

如果暂停失败,会显示失败的具体原因。

MySQL 兼容性

ADMIN PAUSE DDL JOBS 语句是 TiDB 对 MySQL 语法的扩展。

另请参阅