同期されたテーブル パイプラインのユーザー エラー。
CHANGED_PRIMARY_KEY
同期テーブル <destTableUcName> に指定された主キー列が変更されました。
指定した主キー列: (<primaryKeyColumns>)。 現在の主キー列: (<existingPrimaryKeyColumns>)。
同期テーブルの主キー列の作成後の変更はサポートされていません。
この問題を解決するには、同期されたテーブルを元の主キー列に変更するか、新しい同期テーブルを作成して既存のテーブルを削除します。
レパートリーに存在しない文字
インスタンス: <instance>。 ソース Delta テーブルで無効なバイト シーケンスが見つかりました。
ディテール: <detail>
これは通常、ソース Delta テーブルに含まれていない文字が含まれていることを示します。
ターゲット データベースのエンコードと互換性があります。 1 つの回避策は、
BINARY TYPE を使用するソース テーブルを作成し、新しい同期テーブルを作成します。
列タイプ変更はサポートされていません
インスタンス: <instance>。 現在、列の種類の変更はサポートされていません。
ソース差分テーブル:<srcTableName>。 同期先テーブル: <destTableName>。
列: <columnName>。 既存の型: <existingType>。 新しい型: <newType>。
この問題を解決するには、次のいずれかのオプションを検討してください。
既存の同期されたテーブルの完全な更新を実行します。
新しい種類を反映する新しい同期テーブルを作成します
接続エラー
インスタンス: <instance>。 接続エラー。 詳細: <detail>。
この問題を解決するには、データベース インスタンスが一時停止または停止されていないことを確認してください。
パイプラインを再起動して再試行します。
データベースが存在しません
移行先データベース <databaseName> は、lakebase インスタンス <instance>に存在しません。 コピー先データベースが存在するかどうかを確認してください。
DELTA_TRUNCATED_TRANSACTION_LOG
詳細: <detail>。
これは、手動削除またはログ保持ポリシーにより、デルタ テーブルのトランザクション ログが切り捨てられたことを示します。
この問題を解決するには、同期されたテーブルの完全な更新を実行します。
依存オブジェクトがまだ存在します
インスタンス: <instance>。 既存の列が存在するため、列を削除できません
PostgreSQL オブジェクトは引き続き列を参照しています。 詳細: <detail>。
この問題を解決するには、次のいずれかのオプションを検討してください。
不足している列を、前と同じデータ型のソース テーブルに追加し直します。
PostgreSQL で依存オブジェクトを削除します。
外部キー制約違反
インスタンス: <instance>。 ソース テーブルから同期するときの外部キー制約違反:
<srcTableName>。 ディテール: <detail>
同期テーブルを参照する外部キー制約の作成はサポートされていません。 お願いします
外部キー制約を削除し、同期を再試行します。
LOCK_TIMEOUT
インスタンス: <instance>。 データベース: <databaseName>。 同期されたテーブル パイプラインは、構成されたタイムアウト (<timeoutSeconds> 秒以内) にロックを取得できませんでした。
ターゲット テーブル <numBlockingTransactions> ロックを保持しているトランザクションが検出されました (最大ロック保持期間: <lockDurationSeconds> 秒)。
ユーザー トランザクションは、同期されたテーブル パイプラインによるターゲット テーブルの更新をブロックしているロックを保持しています。
エラーに関連するトランザクションの詳細については、Spark ドライバー ログを確認します ('[LOCK TIMEOUT DIAGNOSTICS]' を検索してください)。
この問題を解決するには、pg_stat_activityを使用して postgres インスタンスで実行時間の長いトランザクションとの接続を見つけ、それらのトランザクションを閉じます (接続が不要になった場合は、pg_terminate_backendを使用して接続を終了することもできます)。
この問題が今後発生しないようにするには、次のオプションを検討してください。
アプリケーションがトランザクションをコミットまたはロールバックすることを確認します。
実行時間の長いトランザクションを回避します。 アプリケーションの作業がトランザクションで発生する必要がない場合は、auto_commitをオンに設定します。
アイドル状態のトランザクションを自動的に終了するようにデータベースのidle_in_transaction_session_timeoutを設定します。
例: ALTER DATABASE <databaseName> SET idle_in_transaction_session_timeout = '5min';
誤設定されたプライマリキー
ソース Delta テーブルに指定された主キー: <srcTableName> は、ソース テーブルでは使用できません。
主キー: <primaryKeys>。 使用可能な列: <availableColumns>。 主キーがありません: <missingPkColumns>。
この問題を解決するには、次のいずれかのオプションを検討してください。
不足している列をソース テーブルに追加します。
正しい主キー構成を使用して、新しい同期テーブルを作成します。
PERMISSION_DENIED
詳細: <detail>。
十分なアクセス許可があるかどうかを確認してください。
PRIMARY_KEY_CONSTRAINT_VIOLATION
インスタンス: <instance>。 主キーに基づいて重複する行が検出されました。 ディテール: <detail>
これは、主キー列の構成に誤りがあることを示している可能性があります。
正しい主キーのセットを使用していることを確認してください
ソース Delta テーブルから: <srcTableName>。
この問題を解決するには、正しい同期テーブルを新しく作成します。
主キーの構成。
REFRESH_WITH_FOREIGN_KEY
インスタンス: <instance>。 同期されたテーブル<destTableName>の更新に失敗しました
<childTableName> には、同期されたテーブルを参照する外部キー制約があります。
外部キー制約がある場合、同期されたテーブルの更新はサポートされません
参照しています。 外部キー制約を削除し、更新を再試行してください。
スキーマが存在しません
詳細: <detail>。
スキーマが Unity カタログに存在するかどうかを確認してください。
ソース読み込みエラー
ソース テーブルの <tableName>から読み取れませんでした。
SELECT クエリを使用してソース テーブルを正常に読み取ることができるかどうかを確認してください。
ディテール: <detail>
SPARK_JOB_CANCELLED
Spark ジョブが取り消されました。
ディテール: <detail>
テーブルが存在しません
詳細: <detail>。
同期されたテーブルが Unity カタログに存在するかどうかを確認してください。
TARGET_DATABASE_FULL
ターゲット データベースの <databaseName> 領域がいっぱいです。 引き続き取り込むことができません。
接続が多すぎます (TOO_MANY_CONNECTIONS)
データベース インスタンスへの開いている接続が多すぎます。 <instance>
詳細: <detail>。
各テーブル同期では、データベース インスタンスへの最大 16 個の接続を使用できます。これは、インスタンスの接続制限にカウントされます。
この問題を解決するには、次のオプションを試してください。
- 同じデータベース インスタンスに書き込む同時実行パイプラインの数を減らします。
たとえば、パイプラインのスケジュールをずらすなどです。
- 同じデータベース インスタンスに接続している他のワークロードからの同時接続の数を減らします。
UNTRANSLATABLE_CHARACTER
インスタンス: <instance>。 ソース Delta テーブルに変換できない文字が見つかりました。
ディテール: <detail>
これは通常、ソース Delta テーブルに含まれていない文字が含まれていることを示します。
ターゲット データベースのエンコードと互換性があります。 1 つの回避策は、
BINARY TYPE を使用するソース テーブルを作成し、新しい同期テーブルを作成します。