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
<PackageReference Include="redb.Postgres.Pro" Version="3.0.0" />
<PackageVersion Include="redb.Postgres.Pro" Version="3.0.0" />
<PackageReference Include="redb.Postgres.Pro" />
paket add redb.Postgres.Pro --version 3.0.0
#r "nuget: redb.Postgres.Pro, 3.0.0"
#:package redb.Postgres.Pro@3.0.0
#addin nuget:?package=redb.Postgres.Pro&version=3.0.0
#tool nuget:?package=redb.Postgres.Pro&version=3.0.0
RedBase Pro
Data Platform for .NET — Pro edition with compiled queries, parallel materialization, and advanced analytics.
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 |
Pro abstractions, compiled query engine, change tracking | |
redb.Postgres.Pro |
PostgreSQL Pro provider | |
redb.MSSql.Pro |
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.
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 | 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
- Microsoft.Extensions.Caching.Memory (>= 10.0.3)
- redb.Core (>= 3.0.0)
- redb.Core.Pro (>= 3.0.0)
- redb.Postgres (>= 3.0.0)
-
net8.0
- Microsoft.Extensions.Caching.Memory (>= 10.0.3)
- redb.Core (>= 3.0.0)
- redb.Core.Pro (>= 3.0.0)
- redb.Postgres (>= 3.0.0)
-
net9.0
- Microsoft.Extensions.Caching.Memory (>= 10.0.3)
- redb.Core (>= 3.0.0)
- redb.Core.Pro (>= 3.0.0)
- redb.Postgres (>= 3.0.0)
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.