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>。

若要解决此问题,请增加此分支可用的计算时间。

更改主键

同步表 <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>.

若要解决此问题,请考虑以下选项之一:

  1. 对现有同步表执行完全刷新。

  2. 创建新的同步表(它将采用新类型)

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>。

若要解决此问题,请考虑以下选项之一:

  1. 使用与以前相同的数据类型,将缺失的列添加回源表。

  2. 删除 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终止连接)。

若要防止将来出现此问题,请考虑以下选项:

  1. 请确保你的应用程序提交或回滚该事务。

  2. 避免长时间运行的事务。 如果应用程序中的工作不需要在事务中进行,请将 auto_commit 设置为 on。

  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>。

若要解决此问题,请为管道的数据库角色启用原生登录,或重新配置该角色以使用支持的身份验证方法。

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 个到数据库实例的连接,这计入实例的连接限制。

若要解决此问题,请尝试以下选项:

  1. 减少写入同一数据库实例的并发管道数。

例如,错开各管道的计划运行时间。

  1. 减少连接到同一数据库实例的其他工作负荷的并发连接数。

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>。

若要解决此问题,请提高项目的写入数据配额。