ADMIN PAUSE DDL JOBS

ADMIN PAUSE DDL allows you to pause a running DDL job. The job_id can be found by running ADMIN SHOW DDL JOBS.

You can use this statement to pause a DDL job that is issued but not yet completed executing. After the pause, the SQL statement that executes the DDL job does not return immediately, but looks like it is still running. If you try to pause a DDL job that has already been completed, you will see the DDL Job:90 not found error in the RESULT column, which indicates that the job has been removed from the DDL waiting queue.

Synopsis

AdminStmt

ADMIN PAUSE DDL - 图1

NumList

ADMIN PAUSE DDL - 图2

  1. AdminStmt ::=
  2. 'ADMIN' ( 'SHOW' ( 'DDL' ( 'JOBS' Int64Num? WhereClauseOptional | 'JOB' 'QUERIES' NumList )? | TableName 'NEXT_ROW_ID' | 'SLOW' AdminShowSlow ) | 'CHECK' ( 'TABLE' TableNameList | 'INDEX' TableName Identifier ( HandleRange ( ',' HandleRange )* )? ) | 'RECOVER' 'INDEX' TableName Identifier | 'CLEANUP' ( 'INDEX' TableName Identifier | 'TABLE' 'LOCK' TableNameList ) | 'CHECKSUM' 'TABLE' TableNameList | 'CANCEL' 'DDL' 'JOBS' NumList | 'PAUSE' 'DDL' 'JOBS' NumList | 'RESUME' 'DDL' 'JOBS' NumList | 'RELOAD' ( 'EXPR_PUSHDOWN_BLACKLIST' | 'OPT_RULE_BLACKLIST' | 'BINDINGS' ) | 'PLUGINS' ( 'ENABLE' | 'DISABLE' ) PluginNameList | 'REPAIR' 'TABLE' TableName CreateTableStmt | ( 'FLUSH' | 'CAPTURE' | 'EVOLVE' ) 'BINDINGS' )
  3. NumList ::=
  4. Int64Num ( ',' Int64Num )*

Examples

ADMIN PAUSE DDL JOBS pauses the currently running DDL job and returns whether the job is paused successfully. The job can be resumed by ADMIN RESUME DDL JOBS.

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

If the pause fails, the specific reason for the failure is displayed.

ADMIN PAUSE DDL - 图3

Note

  • This statement can pause a DDL job, but other operations and environment changes (such as machine restarts and cluster restarts) do not pause DDL jobs except for cluster upgrades.
  • During the cluster upgrade, the ongoing DDL jobs are paused, and the DDL jobs initiated during the upgrade are also paused. After the upgrade, all paused DDL jobs will resume. The pause and resume operations during the upgrade are taken automatically. For details, see TiDB Smooth Upgrade.
  • This statement can pause multiple DDL jobs. You can use the ADMIN SHOW DDL JOBS statement to obtain the job_id of a DDL job.

ADMIN PAUSE DDL - 图4

Note

  • This statement can pause a DDL job, but other operations and environment changes (such as machine restarts and cluster restarts) do not pause DDL jobs except for cluster upgrades.
  • During the cluster upgrade, the ongoing DDL jobs are paused, and the DDL jobs initiated during the upgrade are also paused. After the upgrade, all paused DDL jobs will resume. The pause and resume operations during the upgrade are taken automatically. For details, see TiDB Smooth Upgrade.
  • This statement can pause multiple DDL jobs. You can use the ADMIN SHOW DDL JOBS statement to obtain the job_id of a DDL job.

MySQL compatibility

This statement is a TiDB extension to MySQL syntax.

See also