我需要从具有约2000个架构的PostgreSQL数据库中获取数据。所有模式都包含相同的表(这是一个多租户应用程序)。
连接器的配置如下:
{
"name": "postgres-source",
"connector.class": "io.confluent.connect.jdbc.JdbcSourceConnector",
"timestamp.column.name": "updated",
"incrementing.column.name": "id",
"connection.password": "********",
"tasks.max": "1",
"mode": "timestamp+incrementing",
"topic.prefix": "postgres-source-",
"connection.user": "*********",
"poll.interval.ms": "3600000",
"numeric.mapping": "best_fit",
"connection.url": "jdbc:postgresql://*******:5432/*******",
"table.whitelist": "table1",
"value.converter": "org.apache.kafka.connect.json.JsonConverter",
"value.converter.schemas.enable": "false",
"key.converter": "org.apache.kafka.connect.json.JsonConverter",
"key.converter.schemas.enable":"false"
}
使用此配置,我会收到此错误:
“连接器将不合格的表名用作主题名称,并且检测到重复的不合格的表名。这可能导致主题中的数据类型混合以及下游处理错误。为了防止此类处理错误,JDBC Source连接器无法执行当它检测到重复的表名配置时开始”
显然,连接器不想将多个具有相同名称的表中的数据发布到单个主题。
这对我来说无关紧要,它可以转到单个主题或多个主题(每个模式一个)。
作为补充信息,如果我添加:
"schema.pattern": "schema1"
将其连接到配置,连接器将起作用,并复制指定架构和表中的数据。
有没有办法复制包含表名相同的多个模式?
谢谢