redb.Postgres.Pro 3.0.0

Prefix Reserved
dotnet add package redb.Postgres.Pro --version 3.0.0
                    
NuGet\Install-Package redb.Postgres.Pro -Version 3.0.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="redb.Postgres.Pro" Version="3.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="redb.Postgres.Pro" Version="3.0.0" />
                    
Directory.Packages.props
<PackageReference Include="redb.Postgres.Pro" />
                    
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 redb.Postgres.Pro --version 3.0.0
                    
#r "nuget: redb.Postgres.Pro, 3.0.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 redb.Postgres.Pro@3.0.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=redb.Postgres.Pro&version=3.0.0
                    
Install as a Cake Addin
#tool nuget:?package=redb.Postgres.Pro&version=3.0.0
                    
Install as a Cake Tool

RedBase Pro

Data Platform for .NET — Pro edition with compiled queries, parallel materialization, and advanced analytics.

NuGet .NET Docs

RedBase Pro extends the open-source RedBase core with performance-critical features for production workloads.


What Pro Adds

Feature What it does
Compiled Query Execution C# LINQ expressions compiled to native SQL — no plpgsql interpreter, no JSON roundtrip
Parallel Materialization Parallel.ForEach props loading — scales across CPU cores
Change Tracking Automatic audit trail: who changed what, when, old/new values
Projection Optimization Only requested _values rows loaded — WHERE _id_structure = ANY($2)
Deep Nested Queries Filter by 3+ level nested properties (e.g. order.Payment.Card.Bank.Country)
Arithmetic in WHERE e.Salary * 12 > 1_000_000, Math.Abs(e.Age - 35) <= 5
Sql.Function<T>() Call any SQL function: Sql.Function<int>("COALESCE", e.Age, 0)
Window Functions ROW_NUMBER, RANK, LAG, LEAD, NTILE, running aggregates with frames
Schema Migrations Structured migration tools for evolving schemas in production
Bulk Operations Optimized batch insert/update/delete

Free vs Pro — Query Pipeline

Free:  LINQ → plpgsql function → JSON → Deserialize → Props
Pro:   LINQ → ExpressionToSqlCompiler → native SQL + PVT CTE → Parallel.ForEach → Props

Pro compiles your LINQ expression into raw SQL at runtime. No intermediate JSON, no plpgsql interpreter. The query hits the database as a native SELECT with JOINs and WHERE clauses — same as hand-written SQL, but generated from C#.


Packages

Package NuGet Description
redb.Core.Pro NuGet Pro abstractions, compiled query engine, change tracking
redb.Postgres.Pro NuGet PostgreSQL Pro provider
redb.MSSql.Pro NuGet SQL Server Pro provider

Installation

# PostgreSQL
dotnet add package redb.Postgres.Pro

# SQL Server
dotnet add package redb.MSSql.Pro

Both provider packages include redb.Core.Pro as a transitive dependency.

Quick Start

using redb.Core;
using redb.Core.Extensions;
using redb.Core.Models.Configuration;
using redb.Core.Pro.Extensions;
using redb.Postgres.Pro.Extensions;  // or redb.MSSql.Pro.Extensions

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddRedbPro(options => options
    .UsePostgres("Host=localhost;Database=mydb;Username=postgres;Password=pass")
    // .UseMsSql("Server=localhost;Database=mydb;User Id=sa;Password=pass;TrustServerCertificate=true")
    .WithLicense("YOUR-LICENSE-KEY")     // optional — trial works without it
    .Configure(c =>
    {
        c.PropsSaveStrategy = PropsSaveStrategy.ChangeTracking;
        c.EnableLazyLoadingForProps = false;
        c.EnablePropsCache = true;
    }));

var app = builder.Build();
var redb = app.Services.GetRequiredService<IRedbService>();
await redb.InitializeAsync();

// Pro: compiled queries, parallel materialization
var results = await redb.Query<EmployeeProps>()
    .Where(e => e.Salary > 75000m)
    .Take(100)
    .ToListAsync();

// Pro: window functions — from E132_WindowRowNumber.cs
var ranked = await redb.Query<EmployeeProps>()
    .WithWindow(w => w
        .PartitionBy(x => x.Department)
        .OrderByDesc(x => x.Salary))
    .SelectAsync(x => new
    {
        Name = x.Props.FirstName,
        Department = x.Props.Department,
        Salary = x.Props.Salary,
        Rank = Win.RowNumber()
    });

Trial

No license key required to start. All Pro features are fully functional with a limit of 1,024 requests per application launch. The counter resets on every restart — during active development this means no practical restriction.

Build your project, run tests, evaluate performance. Purchase a license when you move to production or need sustained long-running workloads.

redbase.app/pricing

Supported Databases

Database Version Package
PostgreSQL 14+ redb.Postgres.Pro
SQL Server 2019+ redb.MSSql.Pro

Target Frameworks

  • .NET 8.0 (LTS)
  • .NET 9.0
  • .NET 10.0

Documentation

Resource Link
Website & Docs redbase.app
Architecture (deep dive) redbase.app/architecture
Pricing redbase.app/pricing
Free edition github.com/redbase-app/redb
Changelog CHANGELOG.md

License

RedBase Pro is distributed under a commercial license. See LICENSE-PRO.txt for terms.

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

NuGet packages (1)

Showing the top 1 NuGet packages that depend on redb.Postgres.Pro:

Package Downloads
redb.Tsak.Core

Kernel of redb.Tsak — runtime container for redb.Route contexts. Provides hot-reload module loading, REST management API, scheduler, monitoring, security and pluggable cluster bootstrap.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
3.0.0 96 5/29/2026
2.0.2 125 5/16/2026
2.0.1 106 5/8/2026