18+ Time-series & Temporal Extensions for PostgreSQL

TimescaleDB, pg_timeseries, temporal_tables, periods, and other Postgres extensions for time-series workloads. Ranked by GitHub stars.

Last reviewed: August 23, 2026
12 extensions
1
timescaledb
23.4k+233 30d

Enables scalable inserts and complex queries for time-series data

Time-series & Temporal·TSL·C
2
pg_cron
3.9k+23 30d

Job scheduler for PostgreSQL

Time-series & Temporal·PostgreSQL·C
3
pipelinedb
2.7k+1 30d

Runs continuous SQL queries that incrementally aggregate streaming time-series data and store only aggregate output in queryable tables.

Time-series & Temporal·Apache-2.0·C
4

Library of analytical hyperfunctions, time-series pipelining, and other SQL utilities

Time-series & Temporal·TSL·Rust
5
pg_timeseries
423+1 30d

Convenience API for time series stack

Time-series & Temporal·PostgreSQL·SQL
6
pg_later
3750 30d

Run queries now and get results later

Time-series & Temporal·PostgreSQL·Rust
7
periods
320+3 30d

Provide Standard SQL functionality for PERIODs and SYSTEM VERSIONING

Time-series & Temporal·PostgreSQL·C
8
pg_background
254+1 30d

Run SQL queries in the background

Time-series & Temporal·GPL-3.0·C
9
emaj
92+1 30d

Enables fine-grained write logging and time travel on subsets of the database.

Time-series & Temporal·GPL-3.0·SQL
10
pg_task
68+1 30d

execute any sql command at any specific time at background

Time-series & Temporal·MIT·C
11

PostgreSQL table versioning extension

Time-series & Temporal·BSD-3-Clause·SQL
12

Adds a PERIOD data type, functions, and indexing strategies for managing time ranges in PostgreSQL.

Time-series & Temporal·C

What is a PostgreSQL Time-Series Extension?

Time-series extensions add native support for timestamped data: automatic time-partitioning (hypertables), columnar compression for older chunks, continuous aggregates for downsampling, retention policies for automatic data deletion, and time-aware analytical functions like time_bucket and last(). TimescaleDB is the dominant choice (source-available TSL license) and powers IoT telemetry, financial time series, and observability backends. Smaller extensions like temporal_tables add SQL:2011 system-versioning for audit history, periods adds period and range support for temporal validity, and pg_cron schedules in-database jobs that often pair with time-series pipelines.

When to Add a Time-Series Extension

Add TimescaleDB when you're ingesting tens of thousands of timestamped rows per second, querying over time ranges, downsampling aggregates with continuous_aggregates, or rolling up historical data with retention_policy. For lower-volume time-tagged data (audit logs, event tracking with under 1k events/sec), plain Postgres with a btree index on the timestamp column is enough. Adding TimescaleDB introduces operational complexity that isn't warranted. For multi-region or cross-cloud time-series at extreme scale, evaluate dedicated TSDBs like InfluxDB, QuestDB, or VictoriaMetrics. TimescaleDB wins on operational simplicity for teams already on Postgres and on hybrid OLTP+time-series workloads.

PostgreSQL extensions FAQ

What is TimescaleDB?
TimescaleDB is a PostgreSQL extension that turns regular tables into 'hypertables': partitioned automatically by time, indexed for fast time-range queries, and compressed in columnar form for older data. It adds time-specific functions (time_bucket, locf, interpolate), continuous aggregates that update incrementally, and retention policies that drop old chunks on a schedule. It's licensed under TSL (source-available, not OSI-approved), maintained by Timescale Inc., and the de-facto time-series solution for Postgres users.
Is TimescaleDB open source?
TimescaleDB has two editions. The Apache 2.0 'community' edition (timescaledb) gives you hypertables, time_bucket, and basic time-series features. The TSL-licensed 'TSL' edition (timescaledb-tsl) adds the features most teams want: columnar compression, continuous aggregates, retention policies, and bloom indexes. TSL is source-available but not OSI-approved. You can run it freely except as a managed cloud service for resale. For most teams, the practical answer is 'yes, free to use.'
Does TimescaleDB work on AWS RDS?
No, TimescaleDB is not available on AWS RDS or Aurora. AWS removed TimescaleDB from RDS allow-lists around 2020 due to licensing concerns (the TSL license). Available alternatives: Timescale Cloud (the vendor's own managed service), self-hosted Postgres on EC2, or Supabase (which does ship TimescaleDB on most projects). For RDS users who need time-series, alternatives include pg_partman + native partitioning, or moving to Timescale Cloud or a TSDB like Amazon Timestream.
When should I use TimescaleDB vs InfluxDB?
Use TimescaleDB when your time-series workload sits alongside relational data and you want one database: joins between time-series and metadata, SQL access, ACID transactions, and standard Postgres tooling. Use InfluxDB (or QuestDB, VictoriaMetrics) when time-series is your primary workload at massive scale (millions of points per second), you don't need joins, and you want a purpose-built TSDB query language (Flux, InfluxQL). For most application backends with telemetry as a feature, TimescaleDB wins on operational simplicity.
How do I install TimescaleDB?
Install the OS package: apt install timescaledb-2-postgresql-17 on Debian/Ubuntu or yum install timescaledb-2-postgresql-17 on RHEL/Rocky. Then add 'timescaledb' to shared_preload_libraries in postgresql.conf, restart Postgres, and run CREATE EXTENSION timescaledb; in the target database. On managed providers: Timescale Cloud has it pre-installed; Supabase enables it on most projects; AWS RDS and Aurora do not support it.

Manage PostgreSQL Visually

1bench is a modern GUI client for PostgreSQL. Install extensions, write queries, and inspect schemas without leaving the IDE.

Try 1bench for PostgreSQL