Marten is a .NET transactional document database and event store built on PostgreSQL.
Marten addresses the need for .NET developers to work with document-oriented data models while leveraging PostgreSQL's proven reliability and JSON capabilities. Rather than forcing relational schemas onto document data or adopting a separate database system, the tool maps .NET objects directly to PostgreSQL's JSON columns, allowing developers to persist and query documents natively. The library also provides an ACID-compliant event store with support for user-defined projections against event streams, enabling event sourcing patterns within the same database.
Teams building .NET applications that benefit from document-oriented design should consider Marten if they prefer to standardize on PostgreSQL rather than introduce a separate document database. The tool suits projects where developers want the productivity gains of schema-flexible storage without sacrificing transactional guarantees or operational familiarity with a relational database. Marten includes native partial update and patching capabilities, allowing efficient modifications to document subsets without rewriting entire records.
The project maintains active engagement with its community through Discord and GitHub Discussions, and the maintainers offer paid support and consulting contracts through JasperFx Software. Development is supported by sponsorship from organizations in the .NET ecosystem.