【发布时间】:2020-02-16 11:59:20
【问题描述】:
我正在尝试使用 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)
我突然想到我需要将 REPLICATION 添加到我的用户角色中。 但是,CloudSQL 文档说以下内容。
当您创建一个新的 Cloud SQL for PostgreSQL 实例时,已经为您创建了默认的 postgres 用户,但您必须设置其密码。 postgres 用户是 cloudsqlsuperuser 角色的一部分,具有以下属性(权限):CREATEROLE、CREATEDB 和 LOGIN。它没有 SUPERUSER 或 REPLICATION 属性。
现在正因为如此,我无法通过 ALTER ROLE 添加 REPLICATION
ps:云 SQL 实例配置为高可用性。
【问题讨论】:
-
Google Cloud SQL 是一项托管服务。你没有这些权利。如果您的应用程序需要它们,那么您将需要在 Compute Engine 上启动您自己的 PostgreSQL。确保您确实需要这些角色。 99% 的时间你不这样做。
标签: postgresql google-cloud-platform apache-kafka google-cloud-sql debezium