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.
The response I received from Compose Support is that superuser accounts are not supported on Compose PostgreSQL.