Kafka 连接 Debezium Postgres Cloud SQL

Ami*_*uri 5 postgresql google-cloud-sql apache-kafka google-cloud-platform debezium

我正在尝试使用 Debezium Postgres 连接器连接到 Cloud SQL postgres。我在日志中收到以下错误。

connect_1    | org.apache.kafka.connect.errors.ConnectException: org.postgresql.util.PSQLException: FATAL: must be superuser or replication role to start walsender
connect_1    |  at io.debezium.connector.postgresql.PostgresConnectorTask.start(PostgresConnectorTask.java:127)
Run Code Online (Sandbox Code Playgroud)

我突然想到我需要将 REPLICATION 添加到我的用户角色中。但是,CloudSQL 文档说明如下。

当您创建新的 Cloud SQL for PostgreSQL 实例时,默认的 postgres 用户已为您创建,但您必须设置其密码。postgres 用户是 cloudsqlsuperuser 角色的一部分,具有以下属性(权限):CREATEROLE、CREATEDB 和 LOGIN。它没有 SUPERUSER 或 REPLICATION 属性。

现在正因为如此,我不能 ALTER ROLE 添加 REPLICATION

ps:云SQL实例配置高可用。

Jay*_*man 4

Debezium 需要 Postgres wal2json 扩展,但 Cloud SQL 目前不支持该扩展。您可以查看正在进行的功能请求。您需要在 GCE 上设置 Postgresql并在那里设置 Debezium。

如果这有帮助,请接受答案

  • 谢谢回复。[我看到以下文档注释](https://debezium.io/documentation/reference/0.10/postgres-plugins.html) 从 Debezium 0.10 开始,连接器支持使用 pgoutput 的 PostgreSQL 10+ 逻辑复制流。这意味着不再需要逻辑解码输出插件,并且连接器可以直接从复制流发出更改。 (2认同)
  • 这是正确的,并且有一个内部功能请求进行更改以允许非超级用户启用复制。实施该功能后,您将能够启用复制。希望有帮助。 (2认同)