Because you can’t two-phase commit between Postgres and the message broker, so you end up with a transactional outbox, which is already a queue.