同步表管道用户错误。
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>。
若要解决此问题,请增加此分支可用的计算时间。
更改主键
同步表 <destTableUcName> 的主键列已被更改。
指定的主键列:(<primaryKeyColumns>)。 当前主键列:(<existingPrimaryKeyColumns>)。
不支持在创建同步表后更改同步表的主键列。
若要解决此问题,请将同步表修改回原始主键列,或创建新的同步表并删除现有表。
变更主键列类型
同步表<modifiedPkColumns>上已更改主键列<destTableUcName>的数据类型。
创建主键列后,同步表不支持更改主键列的数据类型。
若要解决此问题,请创建新的同步表并删除现有表。
CHARACTER_NOT_IN_REPERTOIRE
实例: <instance>. 在源 Delta 表中找到无效的字节序列。
详细信息:<detail>
这通常表示源 Delta 表包含某些字符,而这些字符不
与目标数据库的编码兼容。 一种变通方法是转换
源表以使用 BINARY 类型,然后创建新的同步表。
COLUMN_TYPE_CHANGE_NOT_SUPPORTED
实例: <instance>. 目前不支持更改列类型。
源 Delta 表:<srcTableName>。 目标同步表:<destTableName>。
列:<columnName>。 现有类型: <existingType>. 新类型: <newType>.
若要解决此问题,请考虑以下选项之一:
对现有同步表执行完全刷新。
创建新的同步表(它将采用新类型)
COMPUTE_TIME_QUOTA_EXCEEDED
实例: <instance>. 数据库账户或项目已超出其计算时长配额,因此同步表管道无法连接。 详细信息:<detail>。
若要解决此问题,请提高你的帐户或项目的计算时间配额。
连接错误
实例: <instance>. 连接错误。 详细信息:<detail>。
若要解决此问题,请确保数据库实例正在运行,而不是暂停或停止。
重启管道以重试。
数据库不存在 (DATABASE_DOES_NOT_EXIST)
目标数据库 <databaseName> 不存在于 lakebase 实例 <instance>中。 请验证目标数据库是否存在。
数据库角色不存在
实例: <instance>. 同步表管道依赖的 Postgres 角色 <roleName> 不存在。 详细信息:<detail>。
这通常发生在该角色已从数据库实例中删除时,例如在该身份从工作区中移除之后。
若要解决此问题,请在数据库实例上重新创建 Postgres 角色 <roleName>,或删除同步表并使用仍存在的身份重新创建它。
DATA_TRANSFER_QUOTA_EXCEEDED
实例: <instance>. 数据库项目已超出其数据传输配额,因此同步表管道无法连接。 详细信息:<detail>。
若要解决此问题,请提高项目的数据传输配额。
DELTA_TRUNCATED_TRANSACTION_LOG
详细信息:<detail>。
这表示 Delta 表的事务日志由于手动删除或日志保留策略已被截断。
若要解决此问题,请对同步表执行完全刷新。
仍然存在依赖对象
实例: <instance>. 由于现有的限制条件,无法删除列。
PostgreSQL 对象仍然在引用该列。 详细信息:<detail>。
若要解决此问题,请考虑以下选项之一:
使用与以前相同的数据类型,将缺失的列添加回源表。
删除 PostgreSQL 中的依赖对象。
DESTINATION_NAME_NOT_A_TABLE
实例: <instance>. 无法创建同步表 <destTableUcName>,因为其目标名称已被目标数据库中的某个 <objectType> 占用。
同步表管道不会创建或管理此对象。
删除或重命名现有的 <objectType>,或使用其他名称创建同步表,然后重试。
DESTINATION_SCHEMA_ACCESS_ERROR
实例: <instance>. 同步表管道对目标架构 <schemaName> 没有权限。 详细信息:<detail>。
管道以 Postgres 角色 <databaseUser> 连接,该角色需要对目标架构具有 USAGE 和 CREATE 权限,以创建和维护目标表。
若要解决此问题,请运行:GRANT USAGE, CREATE ON SCHEMA <quotedSchemaName> TO <quotedDatabaseUser>; 然后重启管道。
DUPLICATE_PRIMARY_KEY_COLUMNS
列 <duplicatedPkColumns> 在同步表 <destTableUcName> 的主键中被多次指定。
若要解决此问题,请从主键中删除重复列,以便每个列仅显示一次。
ENDPOINT_DISABLED
实例: <instance>. 目标数据库实例已被禁用,无法接受连接。 详细信息:<detail>。
这通常发生在实例已停止时。 无法通过连接尝试启动已禁用的实例。
要解决此问题,请重新启用或启动数据库实例,然后重启管道。
如果该实例是被有意停止的,则应改为暂停或删除同步表。
ENDPOINT_NOT_FOUND
实例: <instance>. 找不到目标数据库端点或无法访问该端点。 详细信息:<detail>。
若要解决此问题,请验证数据库实例是否存在,并确认同步表配置了正确的实例。
FOREIGN_KEY_CONSTRAINT_VIOLATION
实例: <instance>. 在从源表同步时违反了外键约束限制:
<srcTableName>。 详细信息:<detail>
不支持创建引用同步表的外键约束。 请
删除外键约束并重试同步。
INDEX_ROW_SIZE_EXCEEDED(索引行大小超出限制)
实例: <instance>. 源 Delta 表 <srcTableName> 中
PostgreSQL B 树索引。 PostgreSQL 将所有主键中的索引条目限制为大约 2704 字节
主键列组合后的值过大。 详细信息:<detail>。
若要解决此问题,请减小存储在主键列中的数据大小,或使用数量更少或
较短的主键列。
INSUFFICIENT_INSTANCE_SPACE
由于数据库大小,无法将表 <tableName> 同步到实例 <instance> 中。
当前实例使用情况: <instanceSize> 字节。
估计未压缩的表大小: <estimatedLoadSize> 字节。
实例大小限制: <maxInstanceSize> 字节。
请减少要同步的数据量,或删除实例中的某些现有表以释放空间。
INVALID_ENDPOINT
实例: <instance>. 数据库实例拒绝了连接,因为所请求的端点对此操作无效。 详细信息:<detail>。
当不允许只读连接,或请求的计算资源不存在时,可能会发生此情况。
若要解决此问题,请验证同步表的目标实例和端点配置,然后重启管道。
INVALID_SECONDARY_INDEX
无效的二级索引配置:<reason>。
INVALID_TABLE_NAME
无效的表名 <tableName>:应为三部分名称(catalog.schema.table)。
INVALID_TYPE_OVERRIDE
实例: <instance>. 列 <columnName> 的类型覆盖无效:<reason>。
无效向量数据
列 <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终止连接)。
若要防止将来出现此问题,请考虑以下选项:
请确保你的应用程序提交或回滚该事务。
避免长时间运行的事务。 如果应用程序中的工作不需要在事务中进行,请将 auto_commit 设置为 on。
将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>.
若要解决此问题,请考虑以下选项之一:
将缺少的列添加到源表。
使用正确的主键配置创建新的同步表。
NATIVE_LOGIN_BLOCKED
实例: <instance>. 同步表流水线所用数据库角色禁用了原生(密码)登录功能。 详细信息:<detail>。
若要解决此问题,请为管道的数据库角色启用原生登录,或重新配置该角色以使用支持的身份验证方法。
NETWORK_BLOCKED
实例: <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
无法同步表 <tableName>,因为 PostgreSQL 关系超出了每个关系 32 TB 的限制。
详细信息:<detail>。
PostgreSQL 无法存储大于 32 TB 的单个表、TOAST 表或索引。
减少源表中的数据量,或将其拆分到多个同步表中。
REQUIRED_EXTENSION_NOT_INSTALLED
实例: <instance>. 未安装所需的 PostgreSQL 扩展“<extension>”。 在创建此同步之前,将其安装在 Lakebase 实例上。
ROLE_RESOLUTION_CONFLICT
无法解析同步表的数据库角色,因为其所有权与管道运行身份冲突。 详细信息:<detail>。
还原管道以前的运行身份,或使用预期的运行身份重新创建同步表。
SCHEMA_BUILDER_NOT_ENABLED
此工作区未启用同步表架构自定义(<features>)。
SCHEMA_DOES_NOT_EXIST
详细信息:<detail>。
请验证 Unity 目录中是否存在架构。
SOURCE_READ_ERROR
无法从源表 <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 表中的冲突列并重新创建同步表。
或者创建一个视图,将冲突的列排除在外,然后同步该视图。
系统架构访问错误
实例: <instance>. 同步表管道无法访问数据库内部系统架构(__db_system)。 详细信息:<detail>。
当数据库重置或内部架构被删除并重新创建且没有适当权限时,可能会发生这种情况。
若要解决此问题,请删除并重新创建同步表 <destTableUcName>。
表不存在
详细信息:<detail>。
请验证已同步的表是否存在于 Unity 目录中。
TARGET_DATABASE_FULL
目标数据库 <databaseName> 空间已满。 无法继续引入。
TOO_MANY_CONNECTIONS
打开的数据库实例连接过多:<instance>
详细信息:<detail>。
每个表同步最多可以使用 16 个到数据库实例的连接,这计入实例的连接限制。
若要解决此问题,请尝试以下选项:
- 减少写入同一数据库实例的并发管道数。
例如,错开各管道的计划运行时间。
- 减少连接到同一数据库实例的其他工作负荷的并发连接数。
UNSUPPORTED_COLUMN_TYPE(不支持的列类型)
实例: <instance>. 不支持的 PostgreSQL 列类型:<columnType>。
无法翻译字符
实例: <instance>. 在源 Delta 表中找到不可转换的字符。
详细信息:<detail>
这通常表示源 Delta 表包含某些字符,而这些字符不
与目标数据库的编码兼容。 一种变通方法是转换
源表以使用 BINARY 类型,然后创建新的同步表。
VPC_ENDPOINT_NOT_ALLOWED
实例: <instance>. 不允许同步表管道的 VPC 端点连接到数据库实例。 详细信息:<detail>。
若要解决此问题,请将 VPC 端点添加到数据库实例的允许列表。
WRITTEN_DATA_QUOTA_EXCEEDED
实例: <instance>. 数据库项目已超出其写入数据配额,因此同步表管道无法连接。 详细信息:<detail>。
若要解决此问题,请提高项目的写入数据配额。