Excalibur.EventSourcing.Postgres
10.0.0-alpha.10
dotnet add package Excalibur.EventSourcing.Postgres --version 10.0.0-alpha.10
NuGet\Install-Package Excalibur.EventSourcing.Postgres -Version 10.0.0-alpha.10
<PackageReference Include="Excalibur.EventSourcing.Postgres" Version="10.0.0-alpha.10" />
<PackageVersion Include="Excalibur.EventSourcing.Postgres" Version="10.0.0-alpha.10" />
<PackageReference Include="Excalibur.EventSourcing.Postgres" />
paket add Excalibur.EventSourcing.Postgres --version 10.0.0-alpha.10
#r "nuget: Excalibur.EventSourcing.Postgres, 10.0.0-alpha.10"
#:package Excalibur.EventSourcing.Postgres@10.0.0-alpha.10
#addin nuget:?package=Excalibur.EventSourcing.Postgres&version=10.0.0-alpha.10&prerelease
#tool nuget:?package=Excalibur.EventSourcing.Postgres&version=10.0.0-alpha.10&prerelease
Excalibur.EventSourcing.Postgres
Postgres implementations for Excalibur event sourcing, including event store, snapshot store, and outbox store. Uses Npgsql and Dapper for high-performance data access.
Part Of
This package is included in the following metapackages:
| Metapackage | Tier | What It Adds |
|---|---|---|
Excalibur.Dispatch.Postgres |
Starter | + Dispatch core + Outbox + Hosting |
Excalibur.Postgres |
Complete | + Inbox + Saga + Leader Election + Audit + Compliance + Data |
Tip: Install
Excalibur.Postgresfor a production-ready PostgreSQL stack with a single package reference.
Installation
dotnet add package Excalibur.EventSourcing.Postgres
Quick Start
using Microsoft.Extensions.DependencyInjection;
services.AddExcalibur(excalibur => excalibur.AddEventSourcing(es =>
es.UsePostgres(pg => pg.DataSource(dataSource))));
Features
- Event Store -- Postgres-backed
IEventStorewith optimistic concurrency - Snapshot Store -- Postgres-backed
ISnapshotStorefor aggregate state snapshots - Outbox Store -- Postgres-backed outbox for reliable message publishing
- AOT Compatible -- Full Native AOT and IL trimming support
- Health Checks -- Integrated Postgres health check registration
- Auto-Migration -- Optional
PostgresMigrationHostedServicefor schema setup
Configuration
services.AddExcalibur(excalibur => excalibur.AddEventSourcing(es =>
es.UsePostgres(pg => pg
.DataSource(dataSource)
.EventStoreSchema("events")
.EventStoreTable("event_store"))));
Documentation
See the Postgres data provider guide for detailed configuration and usage.
License
This package is part of the Excalibur framework. See LICENSE for license details.
Schema
This package never creates its tables at runtime. Provision them before the first append —
PostgresMigrator is not a provisioning path, it runs migrations from an assembly you supply.
The canonical DDL ships in the package:
| script | creates |
|---|---|
scripts/001_CreateSnapshotSchema.sql |
public.event_store_snapshots |
scripts/004_CreateEventStoreSchema.sql |
public.events |
Defaults: schema public, tables events and event_store_snapshots, all configurable via
PostgresEventSourcingOptions. Without the event-store table the first append fails with
42P01: relation "events" does not exist.
Both scripts are re-runnable and only ever create missing objects; neither alters an existing
table. scripts/002_… and scripts/003_… are migrations for databases provisioned by earlier
versions — read their headers before running them, as one is order-dependent with the package
release that introduced it.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- AspNetCore.HealthChecks.Npgsql (>= 9.0.0)
- Ben.Demystifier (>= 0.4.1)
- CloudNative.CloudEvents (>= 2.8.0)
- CloudNative.CloudEvents.SystemTextJson (>= 2.8.0)
- Cronos (>= 0.12.0)
- Dapper (>= 2.1.72)
- Excalibur.Data.Abstractions (>= 10.0.0-alpha.10)
- Excalibur.Dispatch.Abstractions (>= 10.0.0-alpha.10)
- Excalibur.Dispatch.Serialization.MemoryPack (>= 10.0.0-alpha.10)
- Excalibur.EventSourcing (>= 10.0.0-alpha.10)
- FluentValidation (>= 12.1.1)
- FluentValidation.DependencyInjectionExtensions (>= 12.1.1)
- IdentityModel (>= 7.0.0)
- JsonNet.ContractResolvers (>= 2.0.0)
- Medo.Uuid7 (>= 3.2.0)
- MemoryPack (>= 1.21.4)
- Microsoft.ApplicationInsights (>= 3.1.0)
- Microsoft.Extensions.Caching.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Caching.Memory (>= 10.0.10)
- Microsoft.Extensions.Configuration (>= 10.0.10)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.10)
- Microsoft.Extensions.Configuration.CommandLine (>= 10.0.10)
- Microsoft.Extensions.Configuration.EnvironmentVariables (>= 10.0.10)
- Microsoft.Extensions.Configuration.Json (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Diagnostics.HealthChecks (>= 10.0.10)
- Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Hosting (>= 10.0.10)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Http (>= 10.0.10)
- Microsoft.Extensions.Logging (>= 10.0.10)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Logging.Console (>= 10.0.10)
- Microsoft.Extensions.ObjectPool (>= 10.0.10)
- Microsoft.Extensions.Options (>= 10.0.10)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.10)
- Microsoft.Extensions.Options.DataAnnotations (>= 10.0.10)
- Microsoft.IdentityModel.Tokens (>= 8.17.0)
- NCrontab (>= 3.4.0)
- Npgsql (>= 10.0.2)
- OpenTelemetry (>= 1.15.3)
- OpenTelemetry.Api (>= 1.15.3)
- OpenTelemetry.Extensions.Hosting (>= 1.15.3)
- Polly (>= 8.6.6)
- System.IdentityModel.Tokens.Jwt (>= 8.17.0)
- System.IO.Hashing (>= 10.0.7)
- System.Threading.RateLimiting (>= 10.0.7)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Excalibur.EventSourcing.Postgres:
| Package | Downloads |
|---|---|
|
Excalibur.Dispatch.Postgres
Experience metapackage bundling Excalibur.Dispatch with PostgreSQL event sourcing. Provides a single AddDispatchWithPostgres() call for the common PostgreSQL scenario. No outbox is registered: the PostgreSQL outbox store is built from an application-supplied Excalibur.Data.IDb, which a connection string alone cannot construct. PRE-RELEASE: the public API is not frozen and may change between pre-release builds. Not recommended for production use. Known issues: https://docs.excalibur-dispatch.dev/docs/known-issues |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.0.0-alpha.10 | 33 | 9/6/2026 |
| 10.0.0-alpha.9 | 64 | 8/31/2026 |
| 10.0.0-alpha.8 | 68 | 8/14/2026 |
| 10.0.0-alpha.7 | 64 | 8/13/2026 |
| 10.0.0-alpha.6 | 70 | 8/11/2026 |
| 10.0.0-alpha.5 | 70 | 8/10/2026 |
| 10.0.0-alpha.4 | 71 | 8/10/2026 |
| 3.0.0-alpha.216 | 89 | 6/30/2026 |
| 3.0.0-alpha.215 | 72 | 6/23/2026 |
| 3.0.0-alpha.214 | 80 | 6/23/2026 |
| 3.0.0-alpha.208 | 81 | 6/11/2026 |
| 3.0.0-alpha.207 | 76 | 6/11/2026 |
| 3.0.0-alpha.205 | 81 | 6/10/2026 |
| 3.0.0-alpha.204 | 91 | 6/8/2026 |
| 3.0.0-alpha.203 | 80 | 6/8/2026 |
| 3.0.0-alpha.202 | 79 | 6/8/2026 |
| 3.0.0-alpha.201 | 86 | 6/8/2026 |
| 3.0.0-alpha.199 | 79 | 6/8/2026 |
| 3.0.0-alpha.198 | 76 | 5/28/2026 |
| 3.0.0-alpha.197 | 88 | 5/28/2026 |
Release notes and versioning policy: https://docs.excalibur-dispatch.dev/docs/migration/version-upgrades