Debezium 可以捕获 Postges 物化视图的变化吗

Can Debezium Capture Changes of a Postges Materialized View

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

是否可以这样做,如果可以,我们应该如何配置呢?

Kafka 连接源配置:

{
"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"
  }
 }

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

不,Debezium Postgres 连接器无法从视图中捕获更改。您要么必须在 table 中坚持加入并捕获它,要么确实使用 Kafka Streams 之类的东西来创建加入。