Root cause
PostgreSQL is not configured for logical decoding. The wal_level parameter must be set to "logical" — not "replica" or "minimal".
How to fix
- Set wal_level = logical in postgresql.conf.
- Restart PostgreSQL (not just reload — wal_level is a postmaster parameter):
sudo systemctl restart postgresql - Verify with:
SHOW wal_level;
Official Debezium documentation ↗