PolarDB-X では、すべての DDL 文が DDL ジョブとして実行されます。 ご利用のインスタンスでアクティブな DDL ジョブと最近の DDL ジョブを検査するには、SHOW DDL を使用します。
構文
SHOW [FULL] DDL;例
次の例は、一時停止された ALTER TABLE ジョブに対する SHOW DDL\G の出力を示しています。 BACKFILL_PROGRESS フィールドと PHY_DDL_PROGRESS フィールドは、異なる内部サブフェーズを反映しているため、その値は全体的な PROGRESS とは異なる場合があります。
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_ID | DDL ジョブの一意の ID です。 LONG データ型の 64 ビット符号付き整数です。 |
OBJECT_SCHEMA | DDL ジョブが実行されるオブジェクトのスキーマ名です。 |
OBJECT_NAME | DDL ジョブが実行されるオブジェクトの名前です。 たとえば、CREATE TABLE ジョブや ALTER TABLE ジョブのテーブル名です。 |
ENGINE | DDL ジョブのエンジンタイプです。 デフォルト値: DAG。 |
DDL_TYPE | CREATE_TABLE や ALTER_TABLE などの DDL ジョブのタイプです。 |
STATE | DDL ジョブの現在の状態です。 有効な値: QUEUED、RUNNING、COMPLETED、ROLLBACK_RUNNING、ROLLBACK_COMPLETED、PAUSED。 状態遷移については、「DDL ジョブの状態」をご参照ください。 |
BACKFILL_PROGRESS | DDL ジョブ内のデータバックフィルの進捗です。 |
PHY_DDL_PROGRESS | DDL ジョブ内で実行されているバッチ物理 DDL 文の進捗です。 |
PROGRESS | DDL ジョブの全体的な進捗です。 |
START_TIME | DDL ジョブが開始された時間です。 |
END_TIME | DDL ジョブが終了した時間です。 |
ELAPSED_TIME(MS) | DDL ジョブの開始からの経過時間 (ミリ秒) です。 |
PHY_PROCESS | 現在実行中の物理 DDL 文の状態です。 |
CANCELABLE | CANCEL DDL を使用して DDL ジョブをキャンセルできるかどうかを示します。 true は、ジョブがキャンセル可能であることを意味します。 |
DDL ジョブの状態
STATE フィールドは、DDL ジョブの現在のフェーズを反映します。 次の図は、状態の遷移を示しています:

正常な状態では、DDL ジョブは QUEUED → RUNNING → COMPLETED の順に進行します。
例外が発生した場合、ジョブは自動的にロールバックされることがあります: QUEUED → RUNNING → ROLLBACK_RUNNING → ROLLBACK_COMPLETED。
次のステップ
キャンセル可能な DDL ジョブ (
CANCELABLE: true) をキャンセルするには、CANCEL DDLを実行します。