【 使用环境 】测试环境
【 OB or 其他组件 】OMS
【 使用版本 】ob:4.3.5,OMS:4.2.11
【问题描述】
我使用OMS的:数据迁移-全量迁移功能,将postgreSQL的表数据迁移到OceanBase,表结构都已经迁移完毕。数据迁移过程中,原表的ID列属性为UUID,迁移到新表的ID列属性为varchar(36),任务会一直卡死。查看组件监控Full-Import组件的日志发现以下错误:
18 at com.oceanbase.oms.dataflow.slice.LocalSliceProvider.provider(LocalSliceProvider.java:58)
19 at com.oceanbase.oms.connector.source.dataflow.DataFlowSliceTask.doSlice(DataFlowSliceTask.java:66)
20 at com.oceanbase.oms.connector.source.dataflow.SliceTaskManager$InnerSliceTask.run(SliceTaskManager.java:759)
21 at java.lang.Thread.run(Thread.java:853)
22 Caused by: org.postgresql.util.PSQLException: ERROR: operator does not exist: uuid > bytea
23 Hint: No operator matches the given name and argument types. You might need to add explicit type casts.
24 Position: 73
25 at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2713)
26 at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2401)
27 at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:368)
28 at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:498)
29 at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:415)
30 at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:190)
31 at org.postgresql.jdbc.PgPreparedStatement.executeQuery(PgPreparedStatement.java:134)
32 at com.alibaba.druid.pool.DruidPooledPreparedStatement.executeQuery(DruidPooledPreparedStatement.java:227)
源数据库中所有包含ID列为UUID的,都会报这个错误。请问这个问题是postgreSQL驱动包的问题,还是OMS迁移的问题?我应该怎么解决?
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!