Excalibur.Inbox.Postgres
10.0.0-alpha.8
dotnet add package Excalibur.Inbox.Postgres --version 10.0.0-alpha.8
NuGet\Install-Package Excalibur.Inbox.Postgres -Version 10.0.0-alpha.8
<PackageReference Include="Excalibur.Inbox.Postgres" Version="10.0.0-alpha.8" />
<PackageVersion Include="Excalibur.Inbox.Postgres" Version="10.0.0-alpha.8" />
<PackageReference Include="Excalibur.Inbox.Postgres" />
paket add Excalibur.Inbox.Postgres --version 10.0.0-alpha.8
#r "nuget: Excalibur.Inbox.Postgres, 10.0.0-alpha.8"
#:package Excalibur.Inbox.Postgres@10.0.0-alpha.8
#addin nuget:?package=Excalibur.Inbox.Postgres&version=10.0.0-alpha.8&prerelease
#tool nuget:?package=Excalibur.Inbox.Postgres&version=10.0.0-alpha.8&prerelease
Excalibur.Inbox.Postgres
Postgres implementation of the inbox pattern for idempotent message processing.
Part Of
This package is included in the following metapackages:
| Metapackage | Tier | What It Adds |
|---|---|---|
Excalibur.Postgres |
Complete | Everything for PostgreSQL: ES + Outbox + Inbox + Saga + LE + Audit + Compliance + Data |
Tip: Install
Excalibur.Postgresfor a production-ready PostgreSQL stack with a single package reference.
Schema
The store never creates its table at runtime. Provision it before the first message is
processed using the canonical DDL shipped in the package under scripts/001_CreateInboxSchema.sql.
Defaults: schema public, table inbox_messages (both configurable via PostgresInboxOptions).
Tenant-isolation key
Deduplication keys on (message_id, handler_type) and, when a tenant is ambient, additionally
on tenant_id. The unique key in the database must match your deployment mode:
| Deployment | Store ON CONFLICT target |
Required unique key |
|---|---|---|
| Single-tenant (no ambient tenant) | (message_id, handler_type) |
(message_id, handler_type) |
Multi-tenant (ambient ITenantContext) |
(message_id, handler_type, tenant_id) |
(message_id, handler_type, tenant_id), tenant_id NOT NULL |
In multi-tenant mode tenant_id must be NOT NULL: a nullable column in the triple key
lets pre-15 Postgres treat NULLs as distinct, so ON CONFLICT never fires and duplicates
slip through. The shipped DDL ships the single-tenant pair key by default with the multi-tenant
triple key as a documented alternative.
| 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
- Dapper (>= 2.1.72)
- Excalibur.Dispatch.Abstractions (>= 10.0.0-alpha.8)
- Excalibur.Inbox (>= 10.0.0-alpha.8)
- Medo.Uuid7 (>= 3.2.0)
- Microsoft.Extensions.Configuration (>= 10.0.10)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Options (>= 10.0.10)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.10)
- Microsoft.Extensions.Options.DataAnnotations (>= 10.0.10)
- Npgsql (>= 10.0.2)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Excalibur.Inbox.Postgres:
| Package | Downloads |
|---|---|
|
Excalibur.Postgres
Complete PostgreSQL metapackage for Excalibur: event sourcing, outbox, inbox, sagas, leader election, audit logging, compliance, and data access in a single package reference. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.0.0-alpha.8 | 40 | 8/14/2026 |
| 10.0.0-alpha.7 | 43 | 8/13/2026 |
| 10.0.0-alpha.6 | 51 | 8/11/2026 |
| 10.0.0-alpha.5 | 50 | 8/10/2026 |
| 10.0.0-alpha.4 | 51 | 8/10/2026 |
| 3.0.0-alpha.216 | 77 | 6/30/2026 |
| 3.0.0-alpha.215 | 70 | 6/23/2026 |
| 3.0.0-alpha.214 | 85 | 6/23/2026 |
| 3.0.0-alpha.208 | 73 | 6/11/2026 |
| 3.0.0-alpha.207 | 72 | 6/11/2026 |
| 3.0.0-alpha.205 | 69 | 6/10/2026 |
| 3.0.0-alpha.204 | 62 | 6/8/2026 |
| 3.0.0-alpha.203 | 70 | 6/8/2026 |
| 3.0.0-alpha.202 | 61 | 6/8/2026 |
| 3.0.0-alpha.201 | 81 | 6/8/2026 |
| 3.0.0-alpha.199 | 66 | 6/8/2026 |
| 3.0.0-alpha.198 | 68 | 5/28/2026 |
| 3.0.0-alpha.197 | 88 | 5/28/2026 |
| 3.0.0-alpha.194 | 68 | 5/20/2026 |
| 3.0.0-alpha.193 | 69 | 5/13/2026 |
See CHANGELOG.md for release notes