Amazon RDS and Aurora.
On RDS, logical replication is one parameter and one role grant. Aurora is the same, on the cluster parameter group.
Waltail needs three things from RDS: wal_level = logical, a user that is allowed to replicate, and a way to reach the database over the network. Set them up in the steps below. When you paste the connection string in Waltail, the console runs six checks and tells you if anything is still missing.
1. Parameter group
Open a custom DB parameter group (RDS) or DB cluster parameter group (Aurora) and set rds.logical_replication to 1. This switches wal_level to logical. It is a static parameter, so reboot the instance — the writer, on Aurora — after you apply it.
2. User
CREATE ROLE waltail WITH LOGIN PASSWORD '…';
GRANT rds_replication TO waltail;
GRANT CONNECT ON DATABASE app TO waltail;
-- the master user usually owns the tables; if waltail does not,
-- create the pipeline as the owning user or grant it membership.
RDS does not let you run ALTER ROLE … REPLICATION directly. Granting rds_replication does the same job and passes the replication_privilege check.
3. Network
Waltail needs to reach the instance: turn on public accessibility (or another reachable endpoint) and add an inbound rule for port 5432 in the security group. Use the instance endpoint — on Aurora, the writer endpoint — not an RDS Proxy, which cannot carry replication connections.
Then, in Waltail
Paste the connection string
Use the direct database host. A transaction-mode pooler (PgBouncer and similar) cannot carry a replication connection, so the
reachablecheck would fail there.Pick tables
Choose the tables to stream. A table needs a primary key — or
REPLICA IDENTITY FULLor an index identity — for updates and deletes to replicate. The console marks any table that does not qualify and says why.Add a destination
Waltail creates a publication and a replication slot on your database (both named
pgcdc_<pipeline>) and starts streaming. The quickstart walks through the rest.