EventHighway.PostgreSql 2.2.0

dotnet add package EventHighway.PostgreSql --version 2.2.0
                    
NuGet\Install-Package EventHighway.PostgreSql -Version 2.2.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="EventHighway.PostgreSql" Version="2.2.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="EventHighway.PostgreSql" Version="2.2.0" />
                    
Directory.Packages.props
<PackageReference Include="EventHighway.PostgreSql" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add EventHighway.PostgreSql --version 2.2.0
                    
#r "nuget: EventHighway.PostgreSql, 2.2.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package EventHighway.PostgreSql@2.2.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=EventHighway.PostgreSql&version=2.2.0
                    
Install as a Cake Addin
#tool nuget:?package=EventHighway.PostgreSql&version=2.2.0
                    
Install as a Cake Tool

EventHighway

BUILD Nuget Nuget The Standard - COMPLIANT The Standard The Standard Community

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.

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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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.