AWS DMS 全ロードと CDC タスクの「ERROR: null value in column violates not-null constraint」のトラブルシューティング方法を教えてください。

最終更新日: 2019 年 10 月 2 日

全ロードと変更データキャプチャ (CDC) の両方の AWS Database Migration Service (AWS DMS) タスクがあります。「ERROR: null value in column violates not-null constraint.」というエラーが表示されました。 どうすればこのエラーを解決できますか?

解決方法

移行タスクにラージオブジェクト (LOB) 列がある場合は、次のようなログエントリが表示されます。

メッセージ
E: Command failed to load data with exit error code 1, Command output: ERROR: null value in column ’xyz’ violates not-null constraint

AWS DMS が LOB 列を移行する場合、まず LOB 列を除くすべてのデータがターゲットテーブルに移行され、AWS DMS は LOB 列に NULL レコードを挿入します。次に、AWS DMS はターゲットテーブルの行を LOB 列データで更新します。

ターゲットが AWS DMS によって作成されていない場合は、ターゲットデータ記述言語 (DDL) で NOT NULL 属性が指定されているかどうかを確認します。NOT NULL 属性がある場合は、テーブルを変更して LOB 列のデータ型の NOT NULL 制約を削除します。次に、AWS DMS タスクを再開します。

LOB モードとタスクフェーズの AWS DMS タスクの動作については、次の表を参照してください。

LOB モード 全ロード 変更データキャプチャ
完全 LOB モード NOT NULL 制約は許可されていない NOT NULL 制約は許可されていない
制限付き LOB モード NULL 制約は許可されている NOT NULL 制約は許可されていない

この記事はお役に立ちましたか?

改善できることはありますか?


さらにサポートが必要な場合