TimescaleDB
PostgreSQL extension adding automatic time partitioning, columnar compression and continuous aggregates.
What it is
A PostgreSQL extension for time-series workloads. Tables, types, indexes, joins, transactions and the entire PostgreSQL toolchain work unchanged; it adds hypertables, compression and incrementally maintained aggregates. Licensed Apache-2.0 for the core with some features under the Timescale License.
Architecture
A hypertable is a regular table partitioned into chunks by time, transparently to queries. Compression converts older chunks to a columnar layout, typically reducing size by an order of magnitude. Continuous aggregates are materialised views refreshed incrementally by background jobs.
Best use cases
- Time-series data that must be joined with relational data — the strongest argument for it.
- Teams already operating PostgreSQL, who gain time-series features without a second system.
- Workloads needing full SQL, including window functions and joins, over time-series data.
- Moderate to high ingest volumes on a single well-provisioned node.
When not to use it
- Very high-cardinality Prometheus-style metrics, where a purpose-built metrics database is more efficient.
- Ingest rates exceeding what one PostgreSQL node absorbs.
- Wide analytical event data with ad-hoc queries, where a column store fits better.
Data model
Ordinary PostgreSQL tables converted to hypertables with create_hypertable(). Chunk interval is
the main sizing decision: a chunk plus its indexes should fit comfortably in memory.
Consistency and transactions
Full PostgreSQL ACID semantics, unchanged. This is a significant differentiator among time-series engines.
Scaling model
Vertical, plus PostgreSQL read replicas. Compression and continuous aggregates extend the ceiling substantially — most capacity problems here turn out to be unconfigured retention rather than a real limit.
Replication
PostgreSQL streaming replication for availability and read scaling, and logical replication for selective movement. See Streaming Replication.
Backup and recovery
PostgreSQL physical backups with pgBackRest or pg_basebackup plus WAL archiving. Logical dumps of
hypertables require the extension's documented procedure rather than a plain pg_dump/pg_restore
cycle.
Monitoring
Standard PostgreSQL metrics plus timescaledb_information.jobs and job_stats for the background
jobs that perform compression, retention and aggregate refresh.
Common mistakes
Production checklist
See Time Series Production Checklist alongside the PostgreSQL checklist.