Debezium 能否捕获 Postges 物化视图的变化

fga*_*akk 3 postgresql apache-kafka apache-kafka-connect debezium

我们目前正在尝试使用 Debezium 捕获 Postgres 数据库中 4 个表的更改。我们目前知道,对于这个用例,我们可以使用 kafka-streams 应用程序来连接/聚合 KTable 的表,但是我们希望保持 kafka-stream 拓扑简单,所以我们的想法是使用 Postgres 中的物化视图和捕捉它的变化。

是否可以做到这一点,如果可以的话我们应该如何配置它?

Kafka Connect 源配置:

{
"name": "campaign-db-source-connector",
  "config": {
    "connector.class": "io.debezium.connector.postgresql.PostgresConnector",
    "key.converter": "io.confluent.connect.avro.AvroConverter",
    "value.converter": "io.confluent.connect.avro.AvroConverter",
    "key.converter.schema.registry.url": "http://schema-registry:8081",
    "value.converter.schema.registry.url": "http://schema-registry:8081",
    "tasks.max": "1",
    "database.hostname": "campaign-db",
    "database.port": "5432",
    "database.user": "postgres",
    "database.password": "postgres",
    "database.dbname" : "campaigndb",
    "database.server.name": "campaign-db"
  }
 }
Run Code Online (Sandbox Code Playgroud)

此配置当前可以捕获单个表中的所有更改,但不能捕获物化视图中的所有更改。(没有创建主题)

Gun*_*nar 7

不可以,Debezium Postgres 连接器无法捕获视图中的更改。您要么必须将连接保留在表中并捕获它,要么确实使用 Kafka Streams 之类的东西来创建连接。