I'm testing self-hosted Convex with Postgres and noticed that json_value is stored as BYTEA instead of JSONB.
Why this design choice? Wouldn't storing as JSONB with an additional column to indicate committed rows open up more possibilities?
Use case:
I'd like to use Convex as the sync engine for rapid frontend prototyping, but also have a path for other backend services/languages to work directly with the Postgres DB using standard SQL queries.
With JSONB storage, we could:
- Query/filter data directly in Postgres
- Build analytics/reporting tools
- Integrate with existing Postgres tooling
- Maintain Convex's real-time sync benefits
Is there a technical reason BYTEA is preferred, or is this something that could be configurable in future versions?