EventHighway.PostgreSql
2.2.0
dotnet add package EventHighway.PostgreSql --version 2.2.0
NuGet\Install-Package EventHighway.PostgreSql -Version 2.2.0
<PackageReference Include="EventHighway.PostgreSql" Version="2.2.0" />
<PackageVersion Include="EventHighway.PostgreSql" Version="2.2.0" />
<PackageReference Include="EventHighway.PostgreSql" />
paket add EventHighway.PostgreSql --version 2.2.0
#r "nuget: EventHighway.PostgreSql, 2.2.0"
#:package EventHighway.PostgreSql@2.2.0
#addin nuget:?package=EventHighway.PostgreSql&version=2.2.0
#tool nuget:?package=EventHighway.PostgreSql&version=2.2.0

0 - EventHighway.PostgreSql
EventHighway.PostgreSql is the PostgreSQL storage provider for EventHighway — a Standard-Compliant .NET library for event-driven programming. It implements the IStorageBrokerProvider contract from EventHighway.Abstractions, persisting all EventHighway state — events, addresses, listeners, delivery records, participants and archives — to PostgreSQL via EF Core (Npgsql).
1 - How It Works
1.1 - Initializing the Client
Construct the EventHighway client with a PostgreSqlStorageBrokerProvider and your connection string — the database is created and migrated automatically on first use:
var configuration = new EventHighwayConfiguration();
IClientV2 eventHighway = new EventHighwayClient(
new PostgreSqlStorageBrokerProvider(
"Host=localhost;Port=5432;Database=EventHighwayDB;Username=postgres;Password=postgres"),
configuration).V2;
From here on, usage is identical regardless of provider — see the EventHighway usage guide for registering handlers, addresses, listeners, and publishing events.
1.2 - Timestamp Precision
All DateTimeOffset properties are stored as timestamptz with microsecond precision. PostgreSQL rounds the 100-nanosecond tick that .NET carries, so the provider truncates values to whole microseconds on write — timestamps round-trip identically to the in-memory value, and behave the same as on the SQL Server provider.
1.3 - Migrations
This package embeds the full set of EF Core migrations for the EventHighway schema, applied automatically at startup — no manual scripts to run. Provider schemas are kept identical across PostgreSQL and SQL Server; if you are contributing a change that touches the database, a matching migration must be added to both provider projects — see the Contributing guide for the exact commands.
2 - Installation
dotnet add package EventHighway.PostgreSql
This brings in the EventHighway engine transitively — it is the only package you need to install to run EventHighway on PostgreSQL.
3 - Related Packages & Projects
| Package | Description |
|---|---|
| EventHighway | The core event-driven engine (NuGet) |
| EventHighway.SqlServer | SQL Server storage provider — the sibling of this package (NuGet) |
| EventHighway.Abstractions | The IStorageBrokerProvider contract this package implements (NuGet) |
| EventHighway.EventHandlers | Ready-made IEventHandler implementations, including DelegateEventHandler (NuGet) |
4 - Standard-Compliance
This library was built according to The Standard. The library follows engineering principles, patterns and tooling as recommended by The Standard.
This library is also a community effort which involved many nights of pair-programming, test-driven development and in-depth exploration research and design discussions.
5 - Standard-Promise
The most important fulfillment aspect in a Standard compliant system is aimed towards contributing to people, its evolution, and principles. An organization that systematically honors an environment of learning, training, and sharing knowledge is an organization that learns from the past, makes calculated risks for the future, and brings everyone within it up to speed on the current state of things as honestly, rapidly, and efficiently as possible.
We believe that everyone has the right to privacy, and will never do anything that could violate that right. We are committed to writing ethical and responsible software, and will always strive to use our skills, coding, and systems for the good. We believe that these beliefs will help to ensure that our software(s) are safe and secure and that it will never be used to harm or collect personal data for malicious purposes.
The Standard Community as a promise to you is in upholding these values.
6 - Important Notice and Acknowledgements
A special thanks to all the community members, and the following dedicated engineers for their hard work and dedication to this project.
Mr. Hassan Habib
Mr. Christo du Toit
Mr.Ahmad Salim
Mr.Greg Hays
| 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
- EventHighway (>= 2.2.0)
- Npgsql.EntityFrameworkCore.PostgreSQL (>= 10.0.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.2.0 | 36 | 7/18/2026 |
PostgreSQL storage provider for EventHighway V2:
* Persists all V2 entities (events, listeners, participants, secrets, retries, archives) via Npgsql.EntityFrameworkCore.PostgreSQL.
* Supplies the EF Core migrations needed to stand up an EventHighway V2 database on PostgreSQL.