I am currently working on a Node.js utility for a schema-based approach on CDC for Postgres.
It is a lightweight utility that you can plug on top of your existing WAL events service (eg. Debezium, WAL-listener...) and allows you to define schemas to listen to.
Instead of listening to raw individual table-level events, you can aggregate those events into high-level schema events automatically. Conceptually, it is like having WAL events but on an SQL view, any modification to a table the view is based on would trigger a high-level event on the view itself. This has many real-world applications including:
- Syncing your single source of truth (Postrges) to another store (eg. Elastic / Algolia...)
- Have a reliable event-driven architecture where you can change the underlying data model while keeping the contract identical
I was highly inspired by pgsync but wanted to build a lightweight, generic version of the idea that is not tied to any specific tech outside of Postgres.
I am looking for early feedback on the idea to understand the traction and the direction I should give the project.