同步資料表流程使用者錯誤。
CHANGED_PRIMARY_KEY
同步資料表 <destTableUcName> 中指定的主要鍵欄位已被更改。
指定的主要鍵欄位:(<primaryKeyColumns>)。 目前主要鍵欄位:(<existingPrimaryKeyColumns>)。
在同步資料表建立後,不支援更改主鍵欄位。
要解決這個問題,可以將同步的資料表改回原本的主鍵欄位,或建立新的同步資料表並刪除現有的。
字元不在字集內
實例: <instance>。 在來源 Delta 資料表中找到無效的位元組序列。
細節: <detail>
這通常表示來源 Delta 資料表包含無效字元。
與目標資料庫的編碼相容。 一種因應措施是將
原始資料表使用 BINARY TYPE,接著建立新的同步資料表。
不支援變更欄位類型
實例: <instance>。 目前不支援變更數據行類型。
來源差異數據表: <srcTableName>。 目的地同步數據表: <destTableName>。
列:<columnName>。 現有類型: <existingType>。 新類型: <newType>。
若要解決此問題,請考慮下列其中一個選項:
執行現有同步數據表的完整重新整理。
建立新的同步資料表(自動支援新的類型)
連線錯誤
實例: <instance>。 連線錯誤。 細節: <detail>。
若要解決此問題,請確保資料庫執行個體正在執行,而不是暫停或停止。
重新啟動管線以重試。
資料庫不存在
目的資料庫 <databaseName> 在 lakebase 實例 <instance>中不存在。 請確認目的地資料庫是否存在。
DELTA_TRUNCATED_TRANSACTION_LOG
細節: <detail>。
這表示 delta 資料表的交易日誌因手動刪除或日誌保留政策而被截斷。
要解決這個問題,請對同步資料表進行完整刷新。
依賴物件仍存在
實例: <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 = 「5分鐘」;
MIS_CONFIGURED_PRIMARY_KEY (主鍵配置錯誤)
來源 Delta 表格所提供的主鍵: <srcTableName> 在原始碼表格中無法取得。
主鍵: <primaryKeys>。 可用欄位: <availableColumns>。 缺少主鍵: <missingPkColumns>。
若要解決此問題,請考慮下列其中一個選項:
將缺失的欄位加入來源資料表。
建立一個新的同步表格,並設定正確的主鍵設定。
PERMISSION_DENIED
細節: <detail>。
請確認您是否擁有足夠的權限。
PRIMARY_KEY_CONSTRAINT_VIOLATION
實例: <instance>。 根據主鍵偵測到重複的數據列。 細節: <detail>
這表示主鍵數據行的設定錯誤。
請確認您使用的是正確的主鍵集合
來自來源 Delta 表格: <srcTableName>。
若要解決此問題,請建立一個新的同步表格並使用正確的
主鍵組態。
REFRESH_WITH_FOREIGN_KEY(重新整理具外鍵)
實例: <instance>。 無法重新整理同步的資料表<destTableName> 因為該表格
<childTableName> 有一個外鍵約束,指向同步表。
當有外鍵限制時,不支援重新整理同步表
引用它。 請移除外鍵限制並重新嘗試刷新。
SCHEMA_不存在
細節: <detail>。
請確認該結構是否存在於 Unity 目錄中。
原始資料讀取錯誤
無法讀取來源表 <tableName>。 請確認是否能透過 SELECT 查詢成功讀取來源資料表。
細節: <detail>
SPARK_JOB_CANCELLED
Spark 作業已取消。
細節: <detail>
表格不存在
細節: <detail>。
請確認同步的資料表是否存在於 Unity 目錄中。
TARGET_DATABASE_FULL
目標資料庫 <databaseName> 空間已滿。 無法繼續攝取。
連線過多
資料庫實例的連線過多: <instance>
細節: <detail>。
每次資料表同步最多可使用16個連接至資料庫實例,這些連線計入實例的連線上限。
要解決這個問題,請嘗試以下選項:
- 減少同時寫入同一資料庫實例的管線數量。
例如,錯開管道排程。
- 減少來自其他工作負載連接同一資料庫實例的同時連線數量。
UNTRANSLATABLE_CHARACTER
實例: <instance>。 在源 Delta 表中發現無法翻譯的字元。
細節: <detail>
這通常表示來源 Delta 資料表包含無效字元。
與目標資料庫的編碼相容。 一種因應措施是將
原始資料表使用 BINARY TYPE,接著建立新的同步資料表。