Pipelinez.PostgreSql
1.3.0
dotnet add package Pipelinez.PostgreSql --version 1.3.0
NuGet\Install-Package Pipelinez.PostgreSql -Version 1.3.0
<PackageReference Include="Pipelinez.PostgreSql" Version="1.3.0" />
<PackageVersion Include="Pipelinez.PostgreSql" Version="1.3.0" />
<PackageReference Include="Pipelinez.PostgreSql" />
paket add Pipelinez.PostgreSql --version 1.3.0
#r "nuget: Pipelinez.PostgreSql, 1.3.0"
#:package Pipelinez.PostgreSql@1.3.0
#addin nuget:?package=Pipelinez.PostgreSql&version=1.3.0
#tool nuget:?package=Pipelinez.PostgreSql&version=1.3.0
Pipelinez.PostgreSql
PostgreSQL transport extensions for Pipelinez.
Use Pipelinez.PostgreSql when a Pipelinez pipeline needs to write successful records or dead-letter records to PostgreSQL tables owned by your application.
What This Package Does
Pipelinez.PostgreSql adds:
WithPostgreSqlDestination(...)WithPostgreSqlDeadLetterDestination(...)- consumer-owned table mapping through
PostgreSqlTableMap<T> - custom parameterized SQL execution through
PostgreSqlCommandDefinition - Dapper-backed PostgreSQL writes for normal and dead-letter flows
Install
dotnet add package Pipelinez.PostgreSql
Pipelinez.PostgreSql depends on Pipelinez, so you do not need to add both explicitly unless you prefer to do so.
When To Use This Package
Use this package when PostgreSQL is a pipeline destination or dead-letter store. The package does not require a Pipelinez-owned schema; your application controls table names, column names, and custom SQL.
Minimal Example
using Pipelinez.Core;
using Pipelinez.Core.Record;
using Pipelinez.PostgreSql;
using Pipelinez.PostgreSql.Configuration;
using Pipelinez.PostgreSql.Mapping;
var pipeline = Pipeline<OrderRecord>.New("orders")
.WithInMemorySource(new object())
.WithPostgreSqlDestination(
new PostgreSqlDestinationOptions
{
ConnectionString = "Host=localhost;Database=pipelinez;Username=postgres;Password=postgres"
},
PostgreSqlTableMap<OrderRecord>.ForTable("app", "processed_orders")
.Map("order_id", record => record.Id)
.MapJson("payload", record => record))
.Build();
public sealed class OrderRecord : PipelineRecord
{
public required string Id { get; init; }
}
Common Recipes
- Write successful pipeline records to a PostgreSQL table.
- Write dead-letter records to a PostgreSQL dead-letter table.
- Use
PostgreSqlTableMap<T>for generated inserts into consumer-owned tables. - Use
PostgreSqlCommandDefinitionfor custom parameterized SQL. - Combine
Pipelinez.KafkawithPipelinez.PostgreSqlto persist processed Kafka records.
Related Packages
Pipelinezcore pipeline runtime.Pipelinez.KafkaKafka source, destination, dead-lettering, distributed execution, and partition-aware scaling.Pipelinez.RabbitMQRabbitMQ source, destination, dead-lettering, and competing-consumer workers.
Documentation
- NuGet: https://www.nuget.org/packages/Pipelinez.PostgreSql
- Repository: https://github.com/KenBerg75/Pipelinez
- API reference: https://kenberg75.github.io/Pipelinez/api/Pipelinez.Core.html
- Getting started: https://github.com/KenBerg75/Pipelinez/blob/main/documentation/getting-started/postgresql-destination.md
- PostgreSQL docs: https://github.com/KenBerg75/Pipelinez/blob/main/documentation/transports/postgresql.md
| 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 was computed. 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 was computed. 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. |
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.