如何解决PostgreSQL JDBC接收器引发错误nullArray类型没有映射到SQL数据库列类型
尝试使用Kafka JDBC接收器复制数据库时出现问题。当我将服务器运行到具有Array数据类型的表时,会出现此错误
...
Caused by: org.apache.kafka.connect.errors.ConnectException: null (ARRAY) type doesn't have a mapping to the SQL database column type
...
我想保留相同的数组条件,并且不想像我对SQL Server所做的那样将其转换为字符串(因为SQL Server不允许数组数据类型)。
这是我的连接配置:
{"name" :"pgsink_'$topic_name'","config":{"connector.class":"io.confluent.connect.jdbc.JdbcSinkConnector","tasks.max":"1","topics":"'$table'","connection.url":"jdbc:postgresql://","connection.user":"","connection.password":"","transforms":"unwrap","transforms.unwrap.type": "io.debezium.transforms.ExtractNewRecordState","transforms.unwrap.drop.tombstones": "false","delete.handling.mode":"drop","auto.create":"true","auto.evolve":"true","insert.mode":"upsert","pk.fields":" '$pk'","pk.mode":"record_key","delete.enabled":"true","destination.table.format":"public.'$table'","connection.attempts":"60","connection.backoff.ms":"100000"
}}
我的Kafka来源来自Debezium,因为我想保留相同的数据类型,所以我没有将SMT放入我的来源。这是源配置:
{
"name":"pg_prod","config":{
"connector.class":"io.debezium.connector.postgresql.PostgresConnector","plugin.name":"wal2json_streaming","database.hostname":"","database.port":"","database.user":"","database.password":"","database.dbname":"","database.server.name":"","database.history.kafka.bootstrap.servers": "","database.history.kafka.topic": "","transforms":"unwrap,reroute","table.whitelist":"public.table","transforms.unwrap.type":"io.debezium.transforms.ExtractNewRecordState","transforms.unwrap.delete.handling.mode": "drop","decimal.handling.mode":"double","time.precision.mode":"connect","transforms.reroute.type":"org.apache.kafka.connect.transforms.RegexRouter","transforms.reroute.regex":"postgres.public.(.*)","transforms.reroute.replacement":"$1","errors.tolerance": "all","errors.log.enable":true,"errors.log.include.messages":true,"kafkaPartition": "0","snapshot.delay.ms":"1000","schema.refresh.mode":"columns_diff_exclude_unchanged_toast"
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。