SYNCED_TABLE_USER_ERROR のエラー条件

SQLSTATE: 42000

同期されたテーブル パイプラインのユーザー エラー。

ACCELERATED_SYNC_DATA_TOO_LARGE

同期対象のテーブル <tableName> には、高速同期を使用するには大きすぎる列の値が多すぎます。

新しい同期テーブルを作成する際は、UI から作成する際に「高速同期」を無効にしてください。

既存の同期済みテーブルについては、Azure Databricks サポートにお問い合わせください。

ACTIVE_ENDPOINTS_LIMIT

インスタンス: <instance>。 データベース プロジェクトでは、同時にアクティブなエンドポイントの上限数を超えているため、同期テーブル パイプラインは接続できません。 詳細: <detail>。

この問題を解決するには、同時にアクティブなエンドポイントの数を減らすか、プロジェクトの上限を引き上げてください。

ACTIVE_TIME_QUOTA_EXCEEDED

インスタンス: <instance>。 データベース プロジェクトがアクティブ時間の上限を超過しているため、同期テーブル パイプラインは接続できません。 詳細: <detail>。

この問題を解決するには、プロジェクトのアクティブ時間クオータを増やしてください。

BRANCH_COMPUTE_TIME_EXCEEDED

インスタンス: <instance>。 データベース ブランチのコンピューティング時間が上限を超えたため、同期テーブル パイプラインが接続できません。 詳細: <detail>。

この問題を解決するには、このブランチに割り当てられるコンピューティング時間を増やしてください。

CHANGED_PRIMARY_KEY

同期テーブル <destTableUcName> に指定された主キー列が変更されました。

指定した主キー列: (<primaryKeyColumns>)。 現在の主キー列: (<existingPrimaryKeyColumns>)。

同期テーブルの主キー列の作成後の変更はサポートされていません。

この問題を解決するには、同期されたテーブルを元の主キー列に変更するか、新しい同期テーブルを作成して既存のテーブルを削除します。

変更された主キー列の型

同期テーブル <modifiedPkColumns>で<destTableUcName>主キー列のデータ型が変更されました。

同期テーブルの作成後、主キー列のデータ型の変更はサポートされません。

この問題を解決するには、新しい同期テーブルを作成し、既存のテーブルを削除します。

レパートリーに存在しない文字

インスタンス: <instance>。 ソース Delta テーブルで無効なバイト シーケンスが見つかりました。

ディテール: <detail>

これは通常、ソース Delta テーブルに含まれていない文字が含まれていることを示します。

ターゲット データベースのエンコードと互換性があります。 1 つの回避策は、

BINARY TYPE を使用するソース テーブルを作成し、新しい同期テーブルを作成します。

列タイプ変更はサポートされていません

インスタンス: <instance>。 現在、列の種類の変更はサポートされていません。

ソース差分テーブル:<srcTableName>。 同期先テーブル: <destTableName>。

列: <columnName>。 既存の型: <existingType>。 新しい型: <newType>。

この問題を解決するには、次のいずれかのオプションを検討してください。

  1. 既存の同期されたテーブルの完全な更新を実行します。

  2. 新しい種類を反映する新しい同期テーブルを作成します

COMPUTE_TIME_QUOTA_EXCEEDED

インスタンス: <instance>。 データベース アカウントまたはプロジェクトのコンピューティング時間クオータを超過したため、同期されたテーブルのパイプラインが接続できません。 詳細: <detail>。

この問題を解決するには、アカウントまたはプロジェクトのコンピューティングのクオータを増やしてください。

接続エラー

インスタンス: <instance>。 接続エラー。 詳細: <detail>。

この問題を解決するには、データベース インスタンスが一時停止または停止されていないことを確認してください。

パイプラインを再起動して再試行します。

データベースが存在しません

移行先データベース <databaseName> は、lakebase インスタンス <instance>に存在しません。 コピー先データベースが存在するかどうかを確認してください。

DATABASE_ROLE_NOT_EXIST

インスタンス: <instance>。 同期されたテーブルのパイプラインが依存している Postgres ロール <roleName> が存在しません。 詳細: <detail>。

これは通常、ロールがデータベースインスタンスから削除された場合、たとえばワークスペースからアイデンティティが削除された後などに発生します。

この問題を解決するには、データベース インスタンス上で Postgres ロール <roleName> を再作成するか、まだ存在する ID を使用して同期されたテーブルを削除してから再作成してください。

DATA_TRANSFER_QUOTA_EXCEEDED

インスタンス: <instance>。 データベース プロジェクトのデータ転送クオータを超過したため、同期テーブル パイプラインが接続できません。 詳細: <detail>。

この問題を解決するには、プロジェクトのデータ転送クオータを引き上げてください。

DELTA_TRUNCATED_TRANSACTION_LOG

詳細: <detail>。

これは、手動削除またはログ保持ポリシーにより、デルタ テーブルのトランザクション ログが切り捨てられたことを示します。

この問題を解決するには、同期されたテーブルの完全な更新を実行します。

依存オブジェクトがまだ存在します

インスタンス: <instance>。 既存の列が存在するため、列を削除できません

PostgreSQL オブジェクトは引き続き列を参照しています。 詳細: <detail>。

この問題を解決するには、次のいずれかのオプションを検討してください。

  1. 不足している列を、前と同じデータ型のソース テーブルに追加し直します。

  2. PostgreSQL で依存オブジェクトを削除します。

DESTINATION_NAME_NOT_A_TABLE

インスタンス: <instance>。 同期対象のテーブル <destTableUcName> は、ターゲット データベース内の <objectType> によってその宛先名がすでに使用されているため、作成できません。

同期テーブルパイプラインはこのオブジェクトを作成・管理しません。

既存の <objectType> を削除する、名前を変更する、あるいは別の名前で同期テーブルを作成してから、再度試してください。

宛先スキーマアクセスエラー

インスタンス: <instance>。 同期されたテーブル パイプラインには、宛先スキーマ <schemaName> に対する権限がありません。 詳細: <detail>。

このパイプラインは、Postgres ロール <databaseUser> として接続されます。このロールは、ターゲットテーブルを作成および維持するために、宛先スキーマ上の USAGE と CREATE が必要です。

この問題を解決するには、 GRANT USAGE, CREATE ON SCHEMA <quotedSchemaName> TO <quotedDatabaseUser>を実行し、パイプラインを再起動してください。

DUPLICATE_PRIMARY_KEY_COLUMNS

<duplicatedPkColumns>列は、同期されたテーブル <destTableUcName>の主キーで複数回指定されます。

この問題を解決するには、主キーから重複する列を削除して、各列が 1 回だけ表示されるようにします。

ENDPOINT_DISABLED

インスタンス: <instance>。 対象のデータベース インスタンスは無効化されており、接続を受け付けることができません。 詳細: <detail>。

これは通常、インスタンスが停止されたときに発生します。 エラーが発生しているインスタンスは、接続を試みても起動できません。

この問題を解決するには、データベース インスタンスを再度有効にするか起動し、パイプラインを再起動してください。

インスタンスが意図的に停止された場合は、代わりに同期されたテーブルを一時停止するか、削除してください。

ENDPOINT_NOT_FOUND

インスタンス: <instance>。 対象のデータベースのエンドポイントが見つからないか、アクセスできません。 詳細: <detail>。

この問題を解決するには、データベース インスタンスが存在すること、および同期対象のテーブルが正しいインスタンスに構成されていることを確認してください。

外部キー制約違反

インスタンス: <instance>。 ソース テーブルから同期するときの外部キー制約違反:

<srcTableName>。 ディテール: <detail>

同期テーブルを参照する外部キー制約の作成はサポートされていません。 お願いします

外部キー制約を削除し、同期を再試行します。

インデックス行サイズが超過しました

インスタンス: <instance>。 ソースの Delta テーブル <srcTableName> の主キーの値が、

PostgreSQL の B ツリー インデックス。 PostgreSQL では、すべての主キーでインデックス エントリが約 2704 バイトに制限されます

各列の合計値に対して大きすぎます。 詳細: <detail>。

この問題を解決するには、主キー列に格納されているデータのサイズを小さくするか、使用するデータの数を減らすか、

短い主キー列。

インスタンス スペースが不十分です

データベース サイズが原因で、テーブル <tableName> をインスタンス <instance> に同期できません。

現在のインスタンスの使用状況: <instanceSize> バイト。

圧縮されていないテーブルの推定サイズ: <estimatedLoadSize> バイト。

インスタンス サイズの制限: <maxInstanceSize> バイト。

同期するデータの量を減らすか、インスタンス内の一部の既存のテーブルを削除して領域を解放してください。

INVALID_ENDPOINT

インスタンス: <instance>。 要求されたエンドポイントがこの操作に対して無効であるため、データベース インスタンスは接続を拒否しました。 詳細: <detail>。

これは、読み取り専用接続が許可されていない場合や、要求されたコンピューティングが存在しない場合に発生することがあります。

この問題を解決するには、同期対象テーブルのターゲット インスタンスとエンドポイントの構成を確認し、パイプラインを再起動してください。

INVALID_SECONDARY_INDEX

無効なセカンダリ インデックスの構成: <reason>。

INVALID_TABLE_NAME

無効なテーブル名 <tableName>: 3 部構成の名前 (catalog.schema.table) が指定される必要があります。

INVALID_TYPE_OVERRIDE

インスタンス: <instance>。 <columnName>列の型オーバーライドが無効:<reason>。

INVALID_VECTOR_DATA

列 <columnName>のベクトルデータが無効: <reason>。

IP_NOT_ALLOWED

インスタンス: <instance>。 同期テーブルパイプラインのIPアドレスはデータベースインスタンスへの接続を許可されていません。 詳細: <detail>。

この問題を解決するために、データベースインスタンスのIP許可リストを更新して接続を許可してください。

LOCK_TIMEOUT

インスタンス: <instance>。 データベース: <databaseName>。 同期されたテーブル パイプラインは、構成されたタイムアウト (<timeoutSeconds> 秒以内) にロックを取得できませんでした。

ターゲット テーブル <numBlockingTransactions> ロックを保持しているトランザクションが検出されました (最大ロック保持期間: <lockDurationSeconds> 秒)。

ユーザー トランザクションは、同期されたテーブル パイプラインによるターゲット テーブルの更新をブロックしているロックを保持しています。

エラーに関連するトランザクションの詳細については、Spark ドライバー ログを確認します ('[LOCK TIMEOUT DIAGNOSTICS]' を検索してください)。

この問題を解決するには、pg_stat_activityを使用して postgres インスタンスで実行時間の長いトランザクションとの接続を見つけ、それらのトランザクションを閉じます (接続が不要になった場合は、pg_terminate_backendを使用して接続を終了することもできます)。

この問題が今後発生しないようにするには、次のオプションを検討してください。

  1. アプリケーションがトランザクションをコミットまたはロールバックすることを確認します。

  2. 実行時間の長いトランザクションを回避します。 アプリケーションの作業がトランザクションで発生する必要がない場合は、auto_commitをオンに設定します。

  3. アイドル状態のトランザクションを自動的に終了するようにデータベースのidle_in_transaction_session_timeoutを設定します。

例: ALTER DATABASE <databaseName> SET idle_in_transaction_session_timeout = '5min';

LOGICAL_SIZE_QUOTA_EXCEEDED

インスタンス: <instance>。 データベース プロジェクトの論理サイズのクオータを超えたため、同期テーブル パイプラインが接続できません。 詳細: <detail>。

この問題を解決するには、プロジェクトの論理サイズのクオータを増やすか、保存されているデータの量を減らしてください。

誤設定されたプライマリキー

ソース Delta テーブルに指定された主キー: <srcTableName> は、ソース テーブルでは使用できません。

主キー: <primaryKeys>。 使用可能な列: <availableColumns>。 主キーがありません: <missingPkColumns>。

この問題を解決するには、次のいずれかのオプションを検討してください。

  1. 不足している列をソース テーブルに追加します。

  2. 正しい主キー構成を使用して、新しい同期テーブルを作成します。

NATIVE_LOGIN_BLOCKED

インスタンス: <instance>。 同期されたテーブル パイプラインで使用されるデータベース ロールに対して、ネイティブ (パスワード) ログインが無効になっています。 詳細: <detail>。

この問題を解決するには、パイプラインのデータベース ロールでネイティブ ログインを有効にするか、サポートされている認証方法を使用するようにロールを再設定してください。

ネットワークがブロックされました

インスタンス: <instance>。 同期テーブル パイプラインは、そのネットワークからデータベース インスタンスに接続することは許可されていません。 詳細: <detail>。

この問題を解決するには、データベース インスタンスのネットワーク アクセス構成を更新し、接続を許可してください。

PERMISSION_DENIED

詳細: <detail>。

十分なアクセス許可があるかどうかを確認してください。

PIPELINE_ROLE_NOT_EXIST (パイプラインの役割が存在しません)

インスタンス: <instance>。 同期されたテーブル パイプラインのデータベース ライター ロールがありません。 詳細: <detail>。

これは通常、宛先データベースが削除されたときに発生し、パイプラインのライター ロールが削除されます。

この問題を解決するには、コピー先データベースが存在し、削除されていないことを確認します。

データベースが意図的に削除された場合は、同期されたテーブルを削除し、データベースを再作成した後に再作成します。

PRIMARY_KEY_CONSTRAINT_VIOLATION

インスタンス: <instance>。 主キーに基づいて重複する行が検出されました。 ディテール: <detail>

これは、主キー列の構成に誤りがあることを示している可能性があります。

正しい主キーのセットを使用していることを確認してください

ソース Delta テーブルから: <srcTableName>。

この問題を解決するには、正しい同期テーブルを新しく作成します。

主キーの構成。

QUOTA_EXCEEDED

インスタンス: <instance>。 対象のデータベース アカウントまたはプロジェクトのクオータ上限を超過しています。 詳細: <detail>。

この問題を解決するには、使用量を減らすか、プランをアップグレードしてクオータを増やしてから、パイプラインを再起動してください。

REFRESH_WITH_FOREIGN_KEY

インスタンス: <instance>。 同期されたテーブル<destTableName>の更新に失敗しました

<childTableName> には、同期されたテーブルを参照する外部キー制約があります。

外部キー制約がある場合、同期されたテーブルの更新はサポートされません

参照しています。 外部キー制約を削除し、更新を再試行してください。

RELATION_SIZE_EXCEEDED

PostgreSQL のリレーションが、リレーションごとの上限である 32 TB を超過したため、テーブル <tableName> を同期できませんでした。

詳細: <detail>。

PostgreSQL では、32 TB を超える単一のテーブル、TOAST テーブル、またはインデックスを格納できません。

ソーステーブルのデータ量を減らすか、同期された複数のテーブルに分割してください。

REQUIRED_EXTENSION_NOT_INSTALLED

インスタンス: <instance>。 必要な PostgreSQL 拡張機能 <extension> がインストールされていません。 この同期を作成する前に、Lakebase インスタンスにインストールしてください。

ROLE_RESOLUTION_CONFLICT

同期対象のテーブルのデータベース ロールは、その所有権がパイプラインの実行者の ID と競合しているため、解決できませんでした。 詳細: <detail>。

パイプラインの以前の実行者の ID を復元するか、意図した実行者の ID を使用して同期済みテーブルを再作成してください。

SCHEMA_BUILDER_NOT_ENABLED

このワークスペースでは同期テーブルスキーマのカスタマイズ(<features>)は有効になっていません。

スキーマが存在しません

詳細: <detail>。

スキーマが Unity カタログに存在するかどうかを確認してください。

ソース読み込みエラー

ソース テーブルの <tableName>から読み取れませんでした。 SELECT クエリを使用してソース テーブルを正常に読み取ることができるかどうかを確認してください。

ディテール: <detail>

SOURCE_SMART_CLONE_REQUIRED

ソースのマテリアライズド ビュー <srcTableName> を同期テーブルのソースとして使用するには、事前に SmartClone を有効にする必要があります。 REPAIR TABLE <srcTableName> SYNC METADATA を実行して、再試行してください。

SPARK_JOB_CANCELLED

Spark ジョブが取り消されました。

ディテール: <detail>

システム_カラム名_競合

インスタンス: <instance>。 ソース Delta テーブル <srcTableName> には、名前が PostgreSQL システム列名と競合する列が含まれています。 詳細: <detail>。

PostgreSQL は、内部使用のために特定の列名 (xmin、xmax、ctid、cmin、cmax、tableoid など) を予約します。

この問題を解決するには、ソース Delta テーブルの競合する列の名前を変更し、同期されたテーブルを再作成します。

または、競合する列が除外されたビューを作成し、代わりにビューを同期します。

SYSTEM_SCHEMA_ACCESS_ERROR (システムスキーマアクセスエラー)

インスタンス: <instance>。 同期されたテーブル パイプラインから内部システム スキーマ (__db_system) にアクセスできません。 詳細: <detail>。

これは、データベースがリセットされた場合、または内部スキーマが削除され、適切なアクセス許可なしで再作成された場合に発生する可能性があります。

この問題を解決するには、同期されたテーブル <destTableUcName>を削除して再作成します。

テーブルが存在しません

詳細: <detail>。

同期されたテーブルが Unity カタログに存在するかどうかを確認してください。

TARGET_DATABASE_FULL

ターゲット データベースの <databaseName> 領域がいっぱいです。 引き続き取り込むことができません。

接続が多すぎます (TOO_MANY_CONNECTIONS)

データベース インスタンスへの開いている接続が多すぎます。 <instance>

詳細: <detail>。

各テーブル同期では、データベース インスタンスへの最大 16 個の接続を使用できます。これは、インスタンスの接続制限にカウントされます。

この問題を解決するには、次のオプションを試してください。

  1. 同じデータベース インスタンスに書き込む同時実行パイプラインの数を減らします。

たとえば、パイプラインのスケジュールをずらすなどです。

  1. 同じデータベース インスタンスに接続している他のワークロードからの同時接続の数を減らします。

UNSUPPORTED_COLUMN_TYPE

インスタンス: <instance>。 サポートされていないPostgreSQLのカラムタイプ: <columnType>。

UNTRANSLATABLE_CHARACTER

インスタンス: <instance>。 ソース Delta テーブルに変換できない文字が見つかりました。

ディテール: <detail>

これは通常、ソース Delta テーブルに含まれていない文字が含まれていることを示します。

ターゲット データベースのエンコードと互換性があります。 1 つの回避策は、

BINARY TYPE を使用するソース テーブルを作成し、新しい同期テーブルを作成します。

VPC_ENDPOINT_NOT_ALLOWED

インスタンス: <instance>。 同期テーブル パイプラインの VP Cエンドポイントは、データベース インスタンスへの接続が許可されていません。 詳細: <detail>。

この問題を解決するために、VPCエンドポイントをデータベースインスタンスの許可リストに追加してください。

WRITTEN_DATA_QUOTA_EXCEEDED

インスタンス: <instance>。 データベース プロジェクトの書き込みデータ クオータが上限を超えたため、同期テーブル パイプラインが接続できません。 詳細: <detail>。

この問題を解決するために、プロジェクトの書き込みデータクォータを増やすこと。