mattp5657 commented on issue #3582: URL: https://github.com/apache/iggy/issues/3582#issuecomment-4887997960
@mmodzelewski While digging into `postgres_source` CDC (it's currently fully broken — invalid `CREATE PUBLICATION` syntax, plus the slot's created with `pgoutput` but read via a function that only accepts text output, so every poll errors), I hit a fork in the road on how to actually fix it, and wanted to check before opening a PR. The config already stubs out `cdc_backend = "pg_replicate"` pointing at Supabase's ETL framework, but that depends on an unreleased, git-pinned fork of `rust-postgres` with no upstream path. This was added in 2025, so I don't want to be waiting on it to get CDC working. Given that, three options: 1. **Fix the existing `builtin` backend against `test_decoding`** — smallest change, but Postgres explicitly documents `test_decoding` as an example plugin with no output-format stability guarantee. 2. **Implement real `pgoutput` over streaming replication ourselves** — the production-grade approach, but no mature Rust crate exists for it; this would be its own multi-PR effort. 3. **Wait for a standardized Rust CDC solution to land** — based on what I found, I don't think this is realistic; the ecosystem gap has been open since 2015 with no sign of closing. Leaning toward (1) now + (2) as tracked follow-up work, but wanted input before committing to a direction. Thoughts? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
