OrionGuard.Outbox.PostgresNotify
6.5.12
See the version list below for details.
dotnet add package OrionGuard.Outbox.PostgresNotify --version 6.5.12
NuGet\Install-Package OrionGuard.Outbox.PostgresNotify -Version 6.5.12
<PackageReference Include="OrionGuard.Outbox.PostgresNotify" Version="6.5.12" />
<PackageVersion Include="OrionGuard.Outbox.PostgresNotify" Version="6.5.12" />
<PackageReference Include="OrionGuard.Outbox.PostgresNotify" />
paket add OrionGuard.Outbox.PostgresNotify --version 6.5.12
#r "nuget: OrionGuard.Outbox.PostgresNotify, 6.5.12"
#:package OrionGuard.Outbox.PostgresNotify@6.5.12
#addin nuget:?package=OrionGuard.Outbox.PostgresNotify&version=6.5.12
#tool nuget:?package=OrionGuard.Outbox.PostgresNotify&version=6.5.12
OrionGuard.Outbox.PostgresNotify
Postgres LISTEN/NOTIFY backed IOutboxWakeSignal for OrionGuard.EntityFrameworkCore. Replaces the v6.5.1 polling-only fallback with an event-driven wake on every committed outbox row when the consumer's database is PostgreSQL.
Install
dotnet add package OrionGuard.Outbox.PostgresNotify
Wire-up
services.AddPostgresNotifyOutboxWakeSignal(o =>
{
o.ConnectionString = "Host=localhost;Database=app;Username=app;Password=app";
});
services.AddOrionGuardEfCore<AppDbContext>(opts => opts.UseOutbox());
The hosted service opens a dedicated Npgsql connection, runs LISTEN "orionguard_outbox";, and signals the dispatcher on every notification. The dispatcher's polling interval upper-bounds wake latency, so an unreachable LISTEN connection degrades to polling rather than dispatch starvation.
Trigger installation
This package does NOT auto-install the database trigger. Run the SQL once via a migration:
public partial class InstallOrionGuardOutboxNotify : Migration
{
protected override void Up(MigrationBuilder mb) =>
mb.Sql(PostgresNotifyTriggerSql.Create());
protected override void Down(MigrationBuilder mb) =>
mb.Sql(PostgresNotifyTriggerSql.Drop());
}
PostgresNotifyTriggerSql.Create(tableName, channelName) accepts overrides if you use a custom OutboxOptions.TableName.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. 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
- Npgsql (>= 8.0.5)
- OrionGuard.EntityFrameworkCore (>= 6.5.12)
-
net8.0
- Npgsql (>= 8.0.5)
- OrionGuard.EntityFrameworkCore (>= 6.5.12)
-
net9.0
- Npgsql (>= 8.0.5)
- OrionGuard.EntityFrameworkCore (>= 6.5.12)
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 |
|---|---|---|
| 6.5.18 | 0 | 6/11/2026 |
| 6.5.16 | 0 | 6/11/2026 |
| 6.5.15 | 0 | 6/11/2026 |
| 6.5.14 | 0 | 6/11/2026 |
| 6.5.13 | 0 | 6/11/2026 |
| 6.5.12 | 0 | 6/11/2026 |
| 6.5.11 | 0 | 6/11/2026 |
| 6.5.10 | 0 | 6/10/2026 |
| 6.5.9 | 0 | 6/10/2026 |
| 6.5.8 | 27 | 6/10/2026 |
| 6.5.7 | 27 | 6/10/2026 |
| 6.5.6 | 35 | 6/10/2026 |
| 6.5.5 | 33 | 6/10/2026 |
| 6.5.4 | 38 | 6/10/2026 |
| 6.5.3 | 45 | 6/9/2026 |
| 6.5.2 | 51 | 6/8/2026 |