SQLStreams

the messaging platform that is just Postgres

You last visited on 9999-99-99 Show what's new since then

0206 — Matching is on routing_key only; no header or content matcher

Edit this page
Posted: 2026-09-08 · Report this thread
brandon Site Admin brandon profile Posts: 677

Context. Routing could have matched on message headers or payload content (JSONB containment) as well as on the topic-style routing_key.

Decision. Only routing_key matching against binding.pattern was built. The hard part of routing is wiring one predicate into both consume models; a single matcher style is enough to do that.

Consequences. Header/content matching is cut, not abandoned — it remains a documented optional follow-up. Keeping one matcher style is also what made the binding schema collapse (see 0207). Rejected (for now): JSONB containment header/content matching — extra matcher machinery with no lesson in it beyond what routing_key already teaches.