请问flink使用jdbc catalog读取postgresql中的数据,schema名里包含中横线,该怎么处理呢?select * from enjoy-pms.rl_leave_problem
limit 10; 报错org.postgresql.util.PSQLException: ERROR: syntax error at or near "-"
在Flink中使用JDBC Catalog读取PostgreSQL中的数据时,如果schema名包含中在Flink中使用JDBC Catalog读取PostgreSQL中的数据时,如果schema名包含中横线(-),需要将schema名用双引号括起来。正确的查询语句如下:
SELECT * FROM "enjoy-pms"."rl_leave_problem" LIMIT 10;
这个问题是因为在PostgreSQL中,表名、列名等标识符可以包含字母、数字和下划线,但不支持中横线(-)。所以,当尝试使用包含中横线的schema名时,PostgreSQL会将其视为非法语法并抛出错误。
要解决这个问题,您可以尝试以下几种方法:
select * from "enjoy-pms".rl_leave_problem limit 10;
这样PostgreSQL就会识别出enjoy-pms
是一个schema名字,并正确解析查询语句。版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。