撰写 - 如何使用超级用户或复制角色创建PostgreSQL用户?

时间:2017-06-28 09:48:38

标签: compose

我正在尝试使用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

1 个答案:

答案 0 :(得分:0)

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