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
- NumList
AdminStmt ::=
'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' )
NumList ::=
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
.
ADMIN PAUSE DDL JOBS job_id [, job_id] ...;
If the pause fails, the specific reason for the failure is displayed.
MySQL compatibility
This statement is a TiDB extension to MySQL syntax.