PG Transport + PG Persistence + Transactional Session

Ok I think this one is solved, largely by Postgres SQL Persistence - should events be publishable to two consumers which use the same DB?

I’ll lay out what the setup is, in case it helps anybody in the future.

Web API

  • Outbox enabled
  • PostgreSql Transport with TransportTransactionMode.ReceiveOnly
  • (Postgre)Sql persistence with Transactional Session enabled

Saga Service / Domain Service

  • Outbox enabled
  • PostgreSql Transport with TransportTransactionMode.ReceiveOnly
  • (Postgre)Sql persistence (no Transactional Session enabled as not required)