如何通过Flink Table API读取PostgreSQL的Text列?遇异常求助
从PostgreSQL表读取Text列时遇异常,求解决方法
表结构

数据快照

首次尝试代码
Table resultTable = tenv.sqlQuery( "SELECT entity_id, CONVERT_FROM(LO_GET(event_payload::oid), 'UTF8') " + "FROM event_log");
触发异常
Caused by: org.apache.flink.sql.parser.impl.ParseException: Encountered ":" at line 1, column 52. Was expecting one of: "EXCEPT" ...
当前依赖配置
<dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-table-api-java-bridge</artifactId> <version>1.17.2</version> </dependency> <!-- 用于JDBC连接 --> <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-connector-jdbc</artifactId> <version>1.16.2</version> </dependency>
修改后的尝试及新异常
修改后代码
Table resultTable = tenv.sqlQuery( "SELECT entity_id, convert_from(lo_get(cast (event_payload as OID )), 'UTF8') " + "FROM event_log");
新异常信息
org.apache.flink.table.api.ValidationException: SQL validation failed. From line 1, column 62 to line 1, column 64: Unknown identifier 'OID' at org.apache.flink.table.planner.calcite.FlinkPlannerImpl.org$apache$flink$table$planner$calcite$FlinkPlannerImpl$$validate(FlinkPlannerImpl.scala:187)
内容的提问来源于stack exchange,提问作者Ladu anand
相关产品推荐
相关产品推荐

