TimescaleDB
A PostgreSQL extension that turns ordinary tables into time-partitioned, compressed time-series tables.
- What it is
- Time-series databases
- Type
- Open source
- Made by
- Tiger Data (formerly Timescale)
- License
- Apache 2.0 (core) and Tiger Data License (full Community Edition)
- Facts checked
- 5 October 2026
What it is
TimescaleDB is not a separate database. It is an extension you load into PostgreSQL, so you keep SQL, joins with your other tables, transactions, existing drivers and tools. You mark a table as a hypertable, and behind the scenes it splits rows into chunks by time, seven days each by default. Inserts land in the newest chunk, queries skip chunks outside their time range, and dropping old data means dropping whole chunks instead of deleting rows one by one.
Older chunks can be converted to a columnstore, which groups values by column and compresses them, so scans over long periods read far less data. Continuous aggregates keep rollups such as hourly averages up to date as new rows arrive, and background policies handle compression and retention on a schedule. These features belong to the Community Edition under the Tiger Data License, which is free to self-host but may not be offered as a hosted service. The Apache 2.0 edition has only the basics, such as hypertables. The company behind it renamed itself from Timescale to Tiger Data in June 2025 and runs the hosted Tiger Cloud.
Why teams pick it
- It’s still PostgreSQL: full SQL, joins with business tables, and the same backups and tools
- Automatic time partitioning with cheap chunk-level retention
- Columnstore compression and continuous aggregates keep long-range queries fast
- New syntax (since 2.20) makes a hypertable with plain
CREATE TABLE ... WITH (tsdb.hypertable)
Watch out for
- Columnstore, continuous aggregates and retention policies need the Tiger Data License edition, so managed Postgres services that ship only the Apache edition lack them
- Writes scale up on one PostgreSQL primary rather than out across many nodes
- You still operate PostgreSQL underneath: connections, vacuum, upgrades and extension versions
Alternatives
What all time-series databases have in common →
Amazon TimestreamAWSAWS’s time-series databases: a serverless engine now closed to new customers, and managed InfluxDB 2 and 3.Apache IoTDBOpen sourceAn Apache time-series database for industrial IoT that stores everything in its own open file format, TsFile, and lets you model devices as a tree of paths or as SQL tables.+1 TimechoDBArcOpen sourceA young single-binary time-series database in Go that writes incoming data as Parquet files and queries them with DuckDB SQL.
QuestDBOpen sourceA columnar time-series database in Java, C++ and Rust that ingests millions of rows a second and answers time-series SQL, with old partitions kept as Parquet.
TDengineOpen sourceA clustered time-series database for IoT and industrial data that gives every device its own table, grouped under “supertables” with tags.How it fits with other technologies
What TimescaleDB uses
What uses TimescaleDB
A hypertable with columnstore and retention policies · sql
CREATE TABLE readings (
time timestamptz NOT NULL,
well_id int NOT NULL,
psi double precision
) WITH (tsdb.hypertable, tsdb.segmentby = 'well_id', tsdb.orderby = 'time DESC');
-- since 2.23 this also adds a columnstore policy: chunks convert after one chunk interval (7 days)
SELECT add_retention_policy('readings', drop_after => INTERVAL '2 years');
SELECT time_bucket('15 minutes', time) AS bucket, well_id, max(psi)
FROM readings
WHERE time > now() - INTERVAL '1 day'
GROUP BY bucket, well_id ORDER BY bucket;See it in a real stack
IoT telemetry pipeline →Benchmarks
Where it came from2017–2025
Ajay Kulkarni and Mike Freedman first ran iobeam, an Internet of Things data platform. It collected time-series data from more than 100,000 devices, and the off-the-shelf time-series databases they tried didn’t meet their needs. The usual advice was that relational databases couldn’t scale to time-series volumes, which is why NoSQL time-series stores existed, but those stores gave up the secondary indexes, rich queries and joins that made SQL useful.
So they built time-series storage on top of PostgreSQL instead. People took an interest in the database before the company changed course, and in early 2017 the founders relaunched it as Timescale. Kulkarni announced TimescaleDB on April 4, 2017, and two weeks later Freedman took a “somewhat heretical stance”: that relational databases can be quite powerful for time-series data, if you solve the scaling problem. TimescaleDB 1.0 followed in October 2018.
In December 2018 Timescale began splitting features between an Apache 2.0 core and a source-available Timescale License that bars offering them as a hosted database service, aimed at cloud vendors who sell open-source software without funding it. Native compression arrived in 2019. In June 2025 the company renamed itself Tiger Data, keeping the TimescaleDB name for the extension.
Why it’s built this way
- An extension inside PostgreSQL, not a new database
- Users keep full SQL, joins with their business tables, and every existing driver and tool. The founders were frank that “PostgreSQL was the only database that we wanted to use.”
- Chunks by time, sized to fit in memory
- A plain table slows down once its indexes outgrow RAM, because each insert may read and write 8 KB pages on disk. Time-series inserts land mostly in the latest interval, so splitting by time keeps the active chunk and its indexes in memory.
- Keep B-tree indexes instead of LSM trees
- NoSQL time-series stores used log-structured merge trees for fast writes, at the cost of more memory and weak secondary indexes. Chunking let TimescaleDB keep PostgreSQL’s ordinary indexes and still sustain high insert rates.
- Columnar compression per chunk
- Old chunks are rarely updated, so 1.5 began rolling their rows into per-column arrays compressed with type-specific methods, such as delta-of-delta for timestamps and Gorilla compression for floats.
Timeline
- 2017
iobeam relaunches as Timescale; TimescaleDB announced in April
- 2018
Version 1.0 in October; Timescale License introduced in December
- 2019
1.5 adds native columnar compression
- 2020
Timescale License revised to grant rights to modify and repair
- 2025
Timescale renames itself Tiger Data in June
- Open Source Underdogs, episode 17: Timescale with Ajay Kulkarni and Mike Freedman
- iobeam.com homepage (archived Mar 2017) · archived copy, original
- Ajay Kulkarni: When boring is awesome, building a scalable time-series database on PostgreSQL (Apr 2017)
- Mike Freedman: Time-series data, why (and how) to use a relational database instead of NoSQL (Apr 2017)
- TimescaleDB 1.0.0 release (Oct 2018)
- Tiger Data: Timescale License (TSL), features split since December 2018
- TimescaleDB 1.5.0 release notes (Oct 2019)
- Tiger Data: Building an open-source business in the cloud era (2020 licence update)
- Tiger Data: Timescale becomes Tiger Data (Jun 2025)
Sources10 · facts checked 5 October 2026
- Tiger Data docs: Understand hypertables
- Tiger Data docs: CREATE TABLE
- Tiger Data docs: Understand hypercore
- Tiger Data docs: Understand continuous aggregates
- Tiger Data docs: add_retention_policy()
- Tiger Data docs: Compare TimescaleDB editions
- Tiger Data: Timescale License (TSL)
- TimescaleDB 2.14.0 release notes: multi-node support removed (Feb 2024)
- TimescaleDB 2.20.0 release notes: CREATE TABLE ... WITH API (May 2025)
- Tiger Data press release: Timescale becomes Tiger Data (Jun 2025)