TheUtils.Db.Postgres
3.0.0-beta-1
This is a prerelease version of TheUtils.Db.Postgres.
dotnet add package TheUtils.Db.Postgres --version 3.0.0-beta-1
NuGet\Install-Package TheUtils.Db.Postgres -Version 3.0.0-beta-1
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="TheUtils.Db.Postgres" Version="3.0.0-beta-1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="TheUtils.Db.Postgres" Version="3.0.0-beta-1" />
<PackageReference Include="TheUtils.Db.Postgres" />
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 TheUtils.Db.Postgres --version 3.0.0-beta-1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: TheUtils.Db.Postgres, 3.0.0-beta-1"
#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 TheUtils.Db.Postgres@3.0.0-beta-1
#: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=TheUtils.Db.Postgres&version=3.0.0-beta-1&prerelease
#tool nuget:?package=TheUtils.Db.Postgres&version=3.0.0-beta-1&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
TheUtils.Db.Postgres
Postgres-specific extensions for TheUtils.Db.
Features
- COPY Protocol: High-performance bulk data import/export
- LISTEN/NOTIFY: Real-time notifications
- Advisory Locks: Distributed locking
- JSONB Queries: Native JSONB path queries
- Raw Npgsql Access: Direct NpgsqlDataReader queries
Usage
using TheUtils;
var env = DbEnv.FromContext(dbContext);
// Bulk import using COPY protocol
var count = await PostgresDb.binaryImport(
"users (name, email)",
users,
(writer, user) => {
writer.Write(user.Name, NpgsqlDbType.Text);
writer.Write(user.Email, NpgsqlDbType.Text);
}
).Run(env).RunAsync();
// Advisory locks
var result = await PostgresDb.withAdvisoryLock(
lockKey,
from u in Db.head(users.Where(x => x.Id == id))
select u
).Run(env).RunAsync();
// LISTEN/NOTIFY
await PostgresDb.listen("my_channel").Run(env).RunAsync();
await PostgresDb.notify("my_channel", "payload").Run(env).RunAsync();
Installation
dotnet add package TheUtils.Db.Postgres
Requires TheUtils.Db (installed automatically as dependency).
| 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- Newtonsoft.Json (>= 13.0.4)
- Npgsql (>= 10.0.1)
- Npgsql.EntityFrameworkCore.PostgreSQL (>= 10.0.0)
- TheUtils.Db (>= 3.0.0-beta-1)
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 |
|---|---|---|
| 3.0.0-beta-1 | 41 | 1/18/2026 |