kafka-connect JDBC PostgreSQL Sink Connector 显式定义 PostgrSQL 模式(命名空间)

Posted

技术标签:

【中文标题】kafka-connect JDBC PostgreSQL Sink Connector 显式定义 PostgrSQL 模式(命名空间)【英文标题】:kafka-connect JDBC PostgreSQL Sink Connector explicitly define the PostgrSQL schema (namespace) 【发布时间】:2021-06-27 23:19:06 【问题描述】:

我正在使用 JDBC 接收器连接器将数据写入 postgresql。

连接器工作正常,但似乎连接器只能将数据写入名为 public 的默认 postgresql 模式

这是 postgresql 的常用 JDBC URL 格式。

jdbc:postgresql://<host>:<port5432>/<database>

是否可以明确定义我需要 postgresql 接收器连接器写入的模式名称?

更新

谢谢@Laurenz Albe 的提示。我可以在 jdbc 连接 URL 中定义 search_path,如下所示:

jdbc:postgresql://<host>:<port>/<database>?options=-c%20search_path=myschema,public

jdbc:postgresql://<host>:<port>/<database>?currentSchema=myschema

【问题讨论】:

【参考方案1】:

使用options连接参数设置search_path

jdbc:postgresql://<host>:<port5432>/<database>?options=-c%20search_path=myschema,public

【讨论】:

感谢您的建议,您的建议非常有效,这确实是一个搜索路径问题:)

以上是关于kafka-connect JDBC PostgreSQL Sink Connector 显式定义 PostgrSQL 模式(命名空间)的主要内容,如果未能解决你的问题,请参考以下文章

Kafka-Connect实践

Kafka-connect 是不是必须使用模式注册表?

使用本地 kafka-connect 集群连接远程数据库的连接超时

使用独立模式 Kafka-connect 将 Postgresql 的数据捕获更改为 kafka 主题

MySql 查询在 Kafka-connect 中失败

没有模式注册表的 Kafka-connect