Sylin.Koan.Data.Connector.Postgres
0.20.4
See the version list below for details.
dotnet add package Sylin.Koan.Data.Connector.Postgres --version 0.20.4
NuGet\Install-Package Sylin.Koan.Data.Connector.Postgres -Version 0.20.4
<PackageReference Include="Sylin.Koan.Data.Connector.Postgres" Version="0.20.4" />
<PackageVersion Include="Sylin.Koan.Data.Connector.Postgres" Version="0.20.4" />
<PackageReference Include="Sylin.Koan.Data.Connector.Postgres" />
paket add Sylin.Koan.Data.Connector.Postgres --version 0.20.4
#r "nuget: Sylin.Koan.Data.Connector.Postgres, 0.20.4"
#:package Sylin.Koan.Data.Connector.Postgres@0.20.4
#addin nuget:?package=Sylin.Koan.Data.Connector.Postgres&version=0.20.4
#tool nuget:?package=Sylin.Koan.Data.Connector.Postgres&version=0.20.4
Sylin.Koan.Data.Connector.Postgres
PostgreSQL provider for Koan relational data with safe defaults and pushdowns.
- Target framework: net10.0
- License: Apache-2.0
Capabilities
- Connection + health checks with minimal options
- JSON projection, filter, and paging pushdowns where supported
- Schema helpers (create table/index) via Koan.Data.Relational
- Provider-bounded Entity streams through
DataCaps.Query.ProviderBoundedPaging
Install
The generated product surface owns support maturity. This page owns PostgreSQL behavior and limits; they do not imply parity with every relational backend.
dotnet add package Sylin.Koan.Data.Connector.Postgres
Minimal setup
- Keep the application's ordinary
services.AddKoan()bootstrap. - For autonomous local discovery, run a reachable PostgreSQL service and omit explicit configuration.
- Otherwise set
ConnectionStrings:PostgresorKoan:Data:Postgres:ConnectionString; keep secrets outside source control.
builder.Services.AddKoan();
public sealed class Order : Entity<Order>;
var saved = await new Order().Save();
var same = await Order.Get(saved.Id);
Usage - safe snippets
- Use first-class model statics from your entities:
Order.FirstPage(50, ct)/Order.Page(2, 50, ct)Order.Query(o => o.CustomerId == id, ct)await foreach (var o in Order.QueryStream(o => o.Total > 100, ct)) { ... }
// Stream a filtered set through consumer-paced provider pages
await foreach (var o in Order.QueryStream(o => o.IsActive, ct))
{
// process
}
Streaming boundary
AllStream and QueryStream request one numbered PostgreSQL page at a time. batchSize caps the
Koan-visible candidate page; it does not claim a bound for opaque provider-driver buffers. Streaming
accepts only DATA-0107's first proved user-sort floor: top-level, non-nullable bool, byte, sbyte,
short, ushort, or int. Other user sorts reject before provider I/O. Data.Core separately appends
the usual string Entity identifier as an opaque provider-stable tie-break, not a cross-provider
collation promise.
These streams do not provide snapshot consistency, mutation-safe traversal, resumability, or a public cursor. Concurrent writes can therefore cause skips or duplicates during offset-based traversal.
See TECHNICAL.md for options and pushdown coverage.
References
| 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
- Microsoft.Extensions.Configuration (>= 10.0.10)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.10)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Options (>= 10.0.10)
- Npgsql (>= 10.0.3)
- Sylin.Koan.Core (>= 0.20.5 && < 0.21.0)
- Sylin.Koan.Data.Abstractions (>= 0.20.4 && < 0.21.0)
- Sylin.Koan.Data.Core (>= 0.20.4 && < 0.21.0)
- Sylin.Koan.Data.Relational (>= 0.20.3 && < 0.21.0)
- Sylin.Koan.Data.Relational.Npgsql (>= 0.20.2 && < 0.21.0)
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 |
|---|---|---|
| 1.0.24 | 41 | 8/30/2026 |
| 1.0.22 | 38 | 8/30/2026 |
| 1.0.21 | 45 | 8/28/2026 |
| 1.0.20 | 43 | 8/28/2026 |
| 1.0.19 | 39 | 8/28/2026 |
| 1.0.18 | 36 | 8/28/2026 |
| 1.0.17 | 42 | 8/28/2026 |
| 1.0.16 | 39 | 8/27/2026 |
| 1.0.10 | 91 | 8/25/2026 |
| 1.0.9 | 95 | 8/24/2026 |
| 1.0.7 | 88 | 8/23/2026 |
| 1.0.5 | 87 | 8/22/2026 |
| 1.0.2 | 98 | 8/20/2026 |
| 1.0.0 | 117 | 8/14/2026 |
| 0.21.1 | 89 | 8/14/2026 |
| 0.21.0 | 116 | 7/30/2026 |
| 0.20.4 | 114 | 7/23/2026 |
| 0.20.2 | 103 | 7/22/2026 |
| 0.20.1 | 156 | 7/22/2026 |
| 0.17.0 | 112 | 6/12/2026 |