同步表管道用户错误。
加速同步数据过大
同步表 <tableName> 有太多大列值,无法使用加速同步。
对于新建的同步表,在通过用户界面创建时禁用加速同步。
如需现有的同步表,请联系 Azure Databricks 支持。
ACTIVE_ENDPOINTS_LIMIT
实例: <instance>. 数据库项目已超过其同时激活端点的限制,因此同步表流水线无法连接。 详细信息:<detail>。
要解决这个问题,可以减少同时激活端点的数量,或者提高项目的上限。
活动时间配额已超出
实例: <instance>. 数据库项目已超过其活跃时间配额,因此同步表流水线无法连接。 详细信息:<detail>。
为解决这个问题,增加项目的活跃时间配额。
BRANCH_COMPUTE_TIME_EXCEEDED
实例: <instance>. 数据库分支已超出其计算时限,因此同步表管道无法连接到该数据库分支。 详细信息:<detail>。
为解决此问题,请增加该分支可用的计算时间。
更改主键
同步表 <destTableUcName> 的主键列已被更改。
指定的主键列:(<primaryKeyColumns>)。 当前主键列:(<existingPrimaryKeyColumns>)。
不支持在创建同步表后更改同步表的主键列。
若要解决此问题,请将同步表修改回原始主键列,或创建新的同步表并删除现有表。
变更主键列类型
同步表<modifiedPkColumns>上已更改主键列<destTableUcName>的数据类型。
创建主键列后,同步表不支持更改主键列的数据类型。
若要解决此问题,请创建新的同步表并删除现有表。
字符不在字符集内
实例: <instance>. 在源 Delta 表中找到无效的字节序列。
细节:<detail>
这通常表示源 Delta 表中包含的字符不符合要求。
与目标数据库的编码兼容。 一种解决方法是转换
选择要使用的源表 BINARY TYPE,然后创建一个新的同步表。
列类型更改不支持 (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> ,或者丢弃并用仍然存在的身份来创建同步表。
数据传输配额已超出
实例: <instance>. 数据库项目已超过其数据传输配额,因此同步表流水线无法连接。 详细信息:<detail>。
为了解决这个问题,提高项目的数据传输配额。
截断的增量事务日志
详细信息:<detail>。
这表示 Delta 表的事务日志由于手动删除或日志保留策略已被截断。
若要解决此问题,请对同步表执行完全刷新。
仍然存在依赖对象
实例: <instance>. 由于现有的限制条件,无法删除列。
PostgreSQL 对象仍然在引用该列。 详细信息:<detail>。
若要解决此问题,请考虑以下选项之一:
将缺少的列添加回源表,其数据类型与以前相同。
删除 PostgreSQL 中的依赖对象。
DESTINATION_NAME_NOT_A_TABLE
实例: <instance>. 无法创建同步表 <destTableUcName> ,因为其目标名称已被目标数据库中的 a <objectType> 使用。
同步表流水线不创建或管理该对象。
删除或重命名现有 <objectType>的表,或者创建一个不同名字的同步表,然后再试一次。
目标_架构_访问错误
实例: <instance>. 同步表管道没有对目标模式 <schemaName> 的权限。 详细信息:<detail>。
该流水线以 Postgres 角色 <databaseUser> 身份连接,该角色需要在目标 schema 上具有 USAGE 和 CREATE 权限,才能创建并维护目标表。
要解决这个问题,请执行: GRANT USAGE, CREATE ON SCHEMA <quotedSchemaName> TO <quotedDatabaseUser>;然后重启流水线。
重复主键列
在同步表<duplicatedPkColumns>的主键中,多次指定了列<destTableUcName>。
若要解决此问题,请从主键中删除重复列,以便每个列仅显示一次。
ENDPOINT_DISABLED
实例: <instance>. 目标数据库实例已被禁用,无法接受连接。 详细信息:<detail>。
这通常发生在实例被停止时。 禁用实例不能通过连接尝试启动。
要解决这个问题,请重新启用或启动数据库实例,然后重启流水线。
如果实例是有意停止的,请改为暂停或删除同步表。
ENDPOINT_NOT_FOUND
实例: <instance>. 目标数据库端点无法找到或无法访问。 详细信息:<detail>。
要解决这个问题,请确认数据库实例是否存在,并且同步表是否配置了正确的实例。
外键约束违反
实例: <instance>. 在从源表同步时违反了外键约束限制:
<srcTableName>。 细节:<detail>
不支持创建引用同步表的外键约束。 请
删除外键约束并重试同步。
INDEX_ROW_SIZE_EXCEEDED(索引行大小超出限制)
实例: <instance>. 源 Delta 表中 <srcTableName> 的主键值对于 来说太大
PostgreSQL B 树索引。 PostgreSQL 将所有主键中的索引条目限制为大约 2704 字节
组合的列。 详细信息:<detail>。
若要解决此问题,请减小存储在主键列中的数据的大小,或者使用更少的列。
较短的主键列。
实例空间不足
由于数据库大小,无法将表 <tableName> 同步到实例 <instance> 中。
当前实例使用情况: <instanceSize> 字节。
估计未压缩的表大小: <estimatedLoadSize> 字节。
实例大小限制: <maxInstanceSize> 字节。
请减少要同步的数据量,或删除实例中的某些现有表以释放空间。
INVALID_ENDPOINT
实例: <instance>. 数据库实例拒绝了连接,因为请求的端点不适用于此操作。 详细信息:<detail>。
当不允许只读连接,或请求的计算不存在时,就会发生这种情况。
要解决这个问题,请验证同步表的目标实例和端点配置,然后重启流水线。
INVALID_TABLE_NAME
无效表名称 <tableName>:预期为三部分名称(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终止连接)。
若要防止将来出现此问题,请考虑以下选项:
确保您的应用程序要么提交事务,要么回滚事务。
避免长时间运行的事务。 如果应用程序的工作不需要在事务中执行,请将auto_commit设为开启。
将idle_in_transaction_session_timeout设置在数据库上,以自动终止空闲事务会话。
示例: ALTER DATABASE <databaseName> SET idle_in_transaction_session_timeout = “5min”;
逻辑大小超出配额
实例: <instance>. 数据库项目已超过其逻辑规模配额,因此同步表流水线无法连接。 详细信息:<detail>。
为解决此问题,可以提高项目的逻辑规模配额或减少存储数据量。
配置错误的主键
提供的源 Delta 表主键:<srcTableName> 在源表中不可用。
主键: <primaryKeys>. 可用列: <availableColumns>. 缺少主键: <missingPkColumns>.
若要解决此问题,请考虑以下选项之一:
将缺少的列添加到源表。
使用正确的主键配置创建新的同步表。
原生登录被阻止
实例: <instance>. 用于同步表管道的数据库角色已禁用原生(密码)登录。 详细信息:<detail>。
为解决此问题,请启用管道数据库角色的原生登录功能,或重新配置该角色以使用支持的认证方法。
网络被阻止
实例: <instance>. 该同步表管道不允许从其所在网络连接到数据库实例。 详细信息:<detail>。
要解决这个问题,可以更新数据库实例的网络访问配置,允许连接。
权限被拒绝
详细信息:<detail>。
请验证你是否有足够的权限。
PIPELINE_ROLE_NOT_EXIST
实例: <instance>. 缺少同步表管道的数据库编写器角色。 详细信息:<detail>。
这通常在删除目标数据库时发生,这会删除管道的编写器角色。
若要解决此问题,请验证目标数据库是否存在且尚未删除。
如果有意删除数据库,请删除同步表,并在重新创建数据库后重新创建该表。
主键约束违规 (PRIMARY_KEY_CONSTRAINT_VIOLATION)
实例: <instance>. 根据主键检测到重复行。 细节:<detail>
这可能表示主键列配置错误。
请验证你是否使用的是正确的主键集
来自源 Delta 表: <srcTableName>。
若要解决此问题,请使用正确的值创建新的同步表
主键配置。
配额已超出
实例: <instance>. 目标数据库账户或项目已超出其配额。 详细信息:<detail>。
要解决这个问题,可以减少使用率或升级计划以提高配额,然后重启管道。
REFRESH_WITH_FOREIGN_KEY
实例: <instance>. 无法刷新同步表<destTableName>,因为表未能更新。
<childTableName> 具有引用同步表的外键约束。
当存在外键约束时,不支持刷新同步表
引用它。 请删除外键约束,然后重试刷新。
未安装所需扩展程序
实例: <instance>. 未安装所需的 PostgreSQL 扩展 “<extension>''。 在创建这个同步之前,先在 Lakebase 实例上安装它。
架构构建器未启用
此工作区未启用同步表架构自定义 (<features>)。
SCHEMA_DOES_NOT_EXIST
详细信息:<detail>。
请验证 Unity 目录中是否存在架构。
SOURCE_READ_ERROR
无法从源表 <tableName>读取 。 请验证是否可以通过 SELECT 查询成功读取源表。
细节:<detail>
需要源智能克隆功能
源物化视图 <srcTableName> 必须先启用 SmartClone,才能用作同步表源。 运行 REPAIR TABLE <srcTableName> SYNC METADATA,然后重试。
SPARK作业已取消
Spark 作业已取消。
细节:<detail>
系统列名称冲突
实例: <instance>. 源 Delta 表 <srcTableName> 包含名称与 PostgreSQL 系统列名称冲突的列。 详细信息:<detail>。
PostgreSQL 保留某些列名(如 xmin、xmax、ctid、cmin、cmax、tableoid)供内部使用。
若要解决此问题,请重命名源 Delta 表中的冲突列并重新创建同步表。
或者创建一个视图,将冲突的列排除在外,然后同步该视图。
系统架构访问错误
实例: <instance>. 同步表管道无法访问数据库内部系统架构(__db_system)。 详细信息:<detail>。
当数据库重置或内部架构被删除并重新创建且没有适当权限时,可能会发生这种情况。
若要解决此问题,请删除并重新创建同步表 <destTableUcName>。
表不存在
详细信息:<detail>。
请验证已同步的表是否存在于 Unity 目录中。
目标数据库已满
目标数据库 <databaseName> 空间已满。 无法继续摄取。
TOO_MANY_CONNECTIONS
打开的数据库实例连接过多:<instance>
详细信息:<detail>。
每个表同步最多可以使用 16 个到数据库实例的连接,这计入实例的连接限制。
若要解决此问题,请尝试以下选项:
- 减少写入同一数据库实例的并发管道数。
例如,交错管道计划。
- 减少连接到同一数据库实例的其他工作负荷的并发连接数。
UNSUPPORTED_COLUMN_TYPE(不支持的列类型)
实例: <instance>. 不支持的PostgreSQL列类型: <columnType>。
无法翻译字符
实例: <instance>. 在源 Delta 表中找到不可转换的字符。
细节:<detail>
这通常表示源 Delta 表中包含的字符不符合要求。
与目标数据库的编码兼容。 一种解决方法是转换
选择要使用的源表 BINARY TYPE,然后创建一个新的同步表。
VPC_ENDPOINT_NOT_ALLOWED
实例: <instance>. 同步表管道的 VPC 端点无权连接到数据库实例。 详细信息:<detail>。
要解决这个问题,可以将VPC端点添加到数据库实例的允许列表中。
已写入数据配额超限
实例: <instance>. 数据库项目已超过其书面数据配额,因此同步表流水线无法连接。 详细信息:<detail>。
为了解决这个问题,提高项目的书面数据配额。