简体   繁体   中英

compose - how to create a PostgreSQL user with superuser or replication roles?

I'm trying to use compose transporter to replicate changes from postgres to 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)

The error:

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

How can I setup the Postgres user with superuser or replication roles? This appears to be disallowed on compose?

ALTER USER admin WITH REPLICATION;

Results in:

ERROR: must be superuser to alter replication users

Also note:

Can I create a 'superuser'?

PostgreSQL allows the creation of a superuser. Being a superuser implies the ability to bypass all access permission checks within the database, so superuserdom should not be granted lightly. For security purposes, we do not allow the creation of superusers.

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

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM