开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

Flink用jdbc catalog连接postgresql时pg的schema里有横线该怎么处理?

Flink用jdbc catalog连接postgresql时,pg的schema里有横线该怎么处理呢?ce08b2bead96ecd76edc3bc957bc8df6.png

展开
收起
xin在这 2024-01-04 14:11:13 39 0
2 条回答
写回答
取消 提交回答
  • 在 PostgreSQL 中,带有横线的 schema 名称被视为非法的。因此,当你尝试使用 JDBC Catalog 连接 PostgreSQL 并引用这样的 schema 时,Flink 可能会抛出异常。

    为了解决这个问题,你需要确保你的 schema 名称不包含横线或其他非法字符。如果 schema 名称已经存在且包含横线,你可能需要联系数据库管理员将其更改为合法的名称。

    此外,你还可以尝试使用反引号(`)将 schema 名称括起来。在某些情况下,这可以帮助绕过某些关键字或特殊字符的问题。例如,你可以像这样引用 schema:

    CREATE CATALOG mycat WITH (
      ...
      'default-database' = '`my-schema`',
      ...
    );
    

    请注意,这种方法可能不适用于所有数据库和所有情况,因此最好还是避免使用非法的 schema 名称。

    2024-01-05 15:15:47
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在Flink SQL中通过 JDBC Catalog连接PostgreSQL数据库时遇到 schema 中包含反斜杠字符 \- 的问题,可以通过以下方式进行处理:

    1. 使用双引号包围 schema 名称以转义其中的特殊字符。例如,在查询语句中应该这样写:

      select * from "enjoy-audit".au_tt_audit_rectifying;
      

      注意这里必须使用双引号包围 schema 和 table 名称,不能只包围表名的一部分。

    2. 在 PostgreSQL 数据库中修改 schema 名称,移除反斜杠字符。虽然这不是一个理想的解决方案,但在某些情况下可能会有所帮助。但是请注意,这可能会涉及到更复杂的变更管理和兼容性测试过程,并且不适用于所有的应用场景。

    2024-01-04 16:22:49
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    云栖大会:开源 PolarDB 架构演进、关键技术与社区建设 立即下载
    2023云栖大会:和客户一起玩转PolarDB新特性 立即下载
    2023云栖大会:PolarDB for AI 立即下载