| name | timescaledb |
| description | TimescaleDB PostgreSQL for time-series. Use for time-series on Postgres. |
TimescaleDB
TimescaleDB is a time-series database built as an extension on top of PostgreSQL. It gives you the scale of NoSQL time-series with the reliability and tooling of Postgres.
When to Use
- SQL familiarity: You want time-series but already know SQL and use Postgres drivers.
- Relational + Time: You need to JOIN your sensor data (Time Series) with Device metadata (Relational Tables).
- Compression: Highest-in-class compression (90%+) for historical data.
Quick Start
SELECT create_hypertable('conditions', 'time');
SELECT time_bucket('15 minutes', time) AS bucket,
avg(temperature)
FROM conditions
GROUP BY bucket
ORDER BY bucket DESC;
Core Concepts
Hypertables
The abstraction layer. It looks like a single table, but effectively partitions data into chunks by time interval.
Continuous Aggregates
Real-time materialized views. "Keep a running average of temperature per hour". It updates incrementally.
Compression
Columnar compression on old chunks. Turns row-based Postgres pages into highly compressed columnar arrays.