BlueTusk.Extensions.TimescaleDB
1.0.0
See the version list below for details.
dotnet add package BlueTusk.Extensions.TimescaleDB --version 1.0.0
NuGet\Install-Package BlueTusk.Extensions.TimescaleDB -Version 1.0.0
<PackageReference Include="BlueTusk.Extensions.TimescaleDB" Version="1.0.0" />
<PackageVersion Include="BlueTusk.Extensions.TimescaleDB" Version="1.0.0" />
<PackageReference Include="BlueTusk.Extensions.TimescaleDB" />
paket add BlueTusk.Extensions.TimescaleDB --version 1.0.0
#r "nuget: BlueTusk.Extensions.TimescaleDB, 1.0.0"
#:package BlueTusk.Extensions.TimescaleDB@1.0.0
#addin nuget:?package=BlueTusk.Extensions.TimescaleDB&version=1.0.0
#tool nuget:?package=BlueTusk.Extensions.TimescaleDB&version=1.0.0
BlueTusk.Extensions.TimescaleDB
Stable TimescaleDB support for BlueTusk. TimescaleDB adds SQL behavior rather than an application wire type, so this package contributes an immutable feature plus parameterized ADO.NET operations for version discovery, converting an existing table to a range hypertable, approximate row counts, retention and Hypercore columnstore policies, and continuous-aggregate refresh policies.
using BlueTusk.Data;
using BlueTusk.Extensions.TimescaleDB;
using BlueTusk.TypeSystem;
await using var dataSource = new BlueTuskDataSourceBuilder(connectionString)
.UseTimescaleDb()
.Build();
var hypertable = await dataSource.CreateHypertableAsync(
"public.metrics",
"recorded_at");
var jobId = await dataSource.AddRetentionPolicyAsync(
"public.metrics",
new BlueTuskInterval(months: 0, days: 30, microseconds: 0));
var estimate = await dataSource.GetApproximateRowCountAsync("public.metrics");
await dataSource.AddColumnstorePolicyAsync(
"public.metrics",
new BlueTuskInterval(months: 0, days: 7, microseconds: 0));
PostgreSQL must have CREATE EXTENSION timescaledb applied. Relation and column
names are typed regclass/name parameters rather than SQL interpolation, and
extension functions are safely schema-qualified. migrateData defaults to
false because converting a populated table can take locks and requires an
explicit caller decision.
Continuous aggregates can be refreshed over a typed DateTimeOffset window
with RefreshContinuousAggregateAsync; add/remove policy helpers use finite
BlueTuskInterval values. The columnstore helpers target the current Hypercore
add_columnstore_policy/remove_columnstore_policy API rather than the legacy
compression-policy names. Typed EF queries and migration helpers are separately
packaged in BlueTusk.Extensions.TimescaleDB.EntityFrameworkCore.
This package and the BlueTusk extension SDK use the stable 1.0.0 Provider-family contract.
| 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
- BlueTusk.Data (>= 1.0.0)
- BlueTusk.Extensions.Abstractions (>= 1.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on BlueTusk.Extensions.TimescaleDB:
| Package | Downloads |
|---|---|
|
BlueTusk.Extensions.TimescaleDB.EntityFrameworkCore
Optional TimescaleDB query translations and migration integration for BlueTusk Entity Framework Core. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.1.0-rc.1 | 99 | 8/29/2026 |
| 1.0.0 | 131 | 8/23/2026 |