Marten uses a single connection to the Postgresql database in each
The connection is only opened on the first call to the database, but after that remains open until the
IDocumentSession is disposed. A couple things to note:
- It's imperative that any
IDocumentSessionopened is disposed in order to recover and reuse connections to the underlying database
- Because the connection is "sticky" to the session, you can utilize serializable transactions. In the future, Marten will also enable you to opt into locking documents read from the session.
There is no place within Marten where it keeps a stateful connection open across sessions.