管理者による DDL ジョブの一時停止

ADMIN PAUSE DDL指定すると、実行中の DDL ジョブを一時停止できます。 job_id ADMIN SHOW DDL JOBSを実行すると見つかります。

このステートメントを使用すると、発行されたものの実行がまだ完了していない 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] ...;

一時停止が失敗した場合は、失敗の具体的な理由が表示されます。

注記:

  • このステートメントは DDL ジョブを一時停止できますが、他の操作や環境の変更 (マシンの再起動やクラスターの再起動など) では、クラスターのアップグレードを除いて DDL ジョブは一時停止されません。
  • クラスターのアップグレード中、進行中の DDL ジョブは一時停止され、アップグレード中に開始された DDL ジョブも一時停止されます。アップグレード後、一時停止されていたすべての DDL ジョブが再開されます。アップグレード中の一時停止および再開の操作は自動的に行われます。詳細はTiDB のスムーズなアップグレードを参照してください。
  • このステートメントは複数の DDL ジョブを一時停止できます。 ADMIN SHOW DDL JOBSステートメントを使用して、DDL ジョブのjob_idを取得できます。

MySQLの互換性

このステートメントは、MySQL 構文に対する TiDB 拡張機能です。

こちらも参照

このページは役に立ちましたか?