Root cause
publication.autocreate.mode=all_tables (the default) requires PostgreSQL superuser privileges to create a FOR ALL TABLES publication. Managed databases (RDS, Aiven, Azure Database for PostgreSQL) do not grant superuser.
How to fix
- Create the publication manually as a superuser before starting the connector:
CREATE PUBLICATION dbz_pub FOR TABLE t1, t2, t3; - Set publication.autocreate.mode=filtered — this mode does not require superuser. Also grant the Debezium user CREATE on the database and ownership (or co-ownership) of the captured tables so it can manage the per-table publication.
- On RDS:
grant the debezium user the rds_replication role.
Official Debezium documentation ↗