0

我正在尝试使用 compose transporter 将更改从 postgres 复制到 rabbitmq:

var source = postgres({
  "uri": "postgres://admin:****@****.dblayer.com:17596/compose"
  "debug": true,
  "tail": true,
  "replication_slot": "slot"
})
var sink = rmq = rabbitmq({
  "uri": "amqps://transporter:****@****.composedb.com:17597/****",
  "routing_key": "test",
  "key_in_field": false
  // "delivery_mode": 1, // non-persistent (1) or persistent (2)
  // "api_port": 15672,
  // "ssl": false,
  // "cacerts": ["/path/to/cert.pem"]
})
t.Source(source).Save(sink)

错误:

INFO[0001] Listening for changes...                      db=compose logical_decoding_slot=slot
ERRO[0002] error plucking from logical decoding pq: must be superuser or replication role to use replication slots  db=compose

如何使用超级用户或复制角色设置 Postgres 用户?这似乎在撰写上是不允许的?

ALTER USER admin WITH REPLICATION;

结果是:

ERROR: must be superuser to alter replication users

另请注意:

我可以创建一个“超级用户”吗?

PostgreSQL 允许创建超级用户。作为超级用户意味着能够绕过数据库内的所有访问权限检查,因此不应轻易授予超级用户权限。出于安全考虑,我们不允许创建超级用户。

来源:https ://help.compose.com/v2.0/docs/postgresql-faq

4

1 回答 1

0

我从 Compose Support 收到的回复是 Compose PostgreSQL 不支持超级用户帐户。

于 2017-06-28T15:40:34.850 回答