Skip to content
timescaledb

timescaledb

timescaledb : Enables scalable inserts and complex queries for time-series data

Overview

ID Extension Package Version Category License Language
1000
timescaledb
timescaledb
2.27.0
TIME
Timescale
C
Attribute Has Binary Has Library Need Load Has DDL Relocatable Trusted
--sLdt-
No
Yes
Yes
Yes
no
yes
Relationships
Schemas timescaledb_information timescaledb_experimental
See Also
timescaledb_toolkit
timeseries
pg_cron
pg_partman
periods
temporal_tables
emaj
pg_task

Packages

Type Repo Version PG Major Compatibility Package Pattern Dependencies
EXT
PIGSTY
2.27.0
18
17
16
15
14
timescaledb -
RPM
PIGSTY
2.27.0
18
17
16
15
14
timescaledb-tsl_$v -
DEB
PIGSTY
2.27.0
18
17
16
15
14
postgresql-$v-timescaledb-tsl -
Linux / PG PG18 PG17 PG16 PG15 PG14
el8.x86_64
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.19.3
el8.aarch64
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.19.3
el9.x86_64
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.19.3
el9.aarch64
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.19.3
el10.x86_64
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.27.0
MISS
el10.aarch64
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.27.0
MISS
d12.x86_64
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.19.3
d12.aarch64
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.19.3
d13.x86_64
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.27.0
MISS
d13.aarch64
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.27.0
MISS
u22.x86_64
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.19.3
u22.aarch64
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.19.3
u24.x86_64
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.19.3
u24.aarch64
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.19.3
u26.x86_64
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.27.0
MISS
u26.aarch64
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.27.0
PIGSTY 2.27.0
MISS
Package Version OS ORG SIZE File URL
timescaledb-tsl_18 2.27.0 el8.x86_64 pigsty 840.5 KiB timescaledb-tsl_18-2.27.0-1PIGSTY.el8.x86_64.rpm
timescaledb-tsl_18 2.27.0 el8.x86_64 pgdg 768.2 KiB timescaledb-tsl_18-2.27.0-1PGDG.rhel8.10.x86_64.rpm
timescaledb-tsl_18 2.26.4 el8.x86_64 pgdg 753.8 KiB timescaledb-tsl_18-2.26.4-1PGDG.rhel8.10.x86_64.rpm
timescaledb-tsl_18 2.26.3 el8.x86_64 pgdg 750.8 KiB timescaledb-tsl_18-2.26.3-1PGDG.rhel8.10.x86_64.rpm
timescaledb-tsl_18 2.26.2 el8.x86_64 pgdg 751.5 KiB timescaledb-tsl_18-2.26.2-1PGDG.rhel8.10.x86_64.rpm
timescaledb-tsl_18 2.26.1 el8.x86_64 pgdg 750.5 KiB timescaledb-tsl_18-2.26.1-1PGDG.rhel8.10.x86_64.rpm
timescaledb-tsl_18 2.26.0 el8.x86_64 pgdg 749.8 KiB timescaledb-tsl_18-2.26.0-1PGDG.rhel8.10.x86_64.rpm
timescaledb-tsl_18 2.25.2 el8.x86_64 pgdg 730.2 KiB timescaledb-tsl_18-2.25.2-1PGDG.rhel8.10.x86_64.rpm
timescaledb-tsl_18 2.25.1 el8.x86_64 pgdg 727.5 KiB timescaledb-tsl_18-2.25.1-2PGDG.rhel8.10.x86_64.rpm
timescaledb-tsl_18 2.25.0 el8.x86_64 pgdg 726.5 KiB timescaledb-tsl_18-2.25.0-1PGDG.rhel8.10.x86_64.rpm
timescaledb-tsl_18 2.23.1 el8.x86_64 pgdg 733.6 KiB timescaledb-tsl_18-2.23.1-1PGDG.rhel8.x86_64.rpm
timescaledb-tsl_18 2.23.0 el8.x86_64 pgdg 733.3 KiB timescaledb-tsl_18-2.23.0-1PGDG.rhel8.x86_64.rpm
timescaledb-tsl_18 2.27.0 el8.aarch64 pigsty 771.3 KiB timescaledb-tsl_18-2.27.0-1PIGSTY.el8.aarch64.rpm
timescaledb-tsl_18 2.27.0 el9.x86_64 pigsty 763.1 KiB timescaledb-tsl_18-2.27.0-1PIGSTY.el9.x86_64.rpm
timescaledb-tsl_18 2.27.0 el9.x86_64 pgdg 746.1 KiB timescaledb-tsl_18-2.27.0-1PGDG.rhel9.7.x86_64.rpm
timescaledb-tsl_18 2.26.4 el9.x86_64 pgdg 729.6 KiB timescaledb-tsl_18-2.26.4-1PGDG.rhel9.7.x86_64.rpm
timescaledb-tsl_18 2.26.3 el9.x86_64 pgdg 728.1 KiB timescaledb-tsl_18-2.26.3-1PGDG.rhel9.7.x86_64.rpm
timescaledb-tsl_18 2.26.2 el9.x86_64 pgdg 727.4 KiB timescaledb-tsl_18-2.26.2-1PGDG.rhel9.7.x86_64.rpm
timescaledb-tsl_18 2.26.1 el9.x86_64 pgdg 728.0 KiB timescaledb-tsl_18-2.26.1-1PGDG.rhel9.7.x86_64.rpm
timescaledb-tsl_18 2.26.0 el9.x86_64 pgdg 723.9 KiB timescaledb-tsl_18-2.26.0-1PGDG.rhel9.7.x86_64.rpm
timescaledb-tsl_18 2.25.2 el9.x86_64 pgdg 702.5 KiB timescaledb-tsl_18-2.25.2-1PGDG.rhel9.7.x86_64.rpm
timescaledb-tsl_18 2.25.1 el9.x86_64 pgdg 700.7 KiB timescaledb-tsl_18-2.25.1-1PGDG.rhel9.7.x86_64.rpm
timescaledb-tsl_18 2.25.0 el9.x86_64 pgdg 699.8 KiB timescaledb-tsl_18-2.25.0-1PGDG.rhel9.7.x86_64.rpm
timescaledb-tsl_18 2.23.1 el9.x86_64 pgdg 719.4 KiB timescaledb-tsl_18-2.23.1-1PGDG.rhel9.x86_64.rpm
timescaledb-tsl_18 2.23.0 el9.x86_64 pgdg 715.8 KiB timescaledb-tsl_18-2.23.0-1PGDG.rhel9.x86_64.rpm
timescaledb-tsl_18 2.27.0 el9.aarch64 pigsty 727.0 KiB timescaledb-tsl_18-2.27.0-1PIGSTY.el9.aarch64.rpm
timescaledb-tsl_18 2.27.0 el10.x86_64 pigsty 790.7 KiB timescaledb-tsl_18-2.27.0-1PIGSTY.el10.x86_64.rpm
timescaledb-tsl_18 2.27.0 el10.x86_64 pgdg 770.3 KiB timescaledb-tsl_18-2.27.0-1PGDG.rhel10.1.x86_64.rpm
timescaledb-tsl_18 2.26.4 el10.x86_64 pgdg 758.4 KiB timescaledb-tsl_18-2.26.4-1PGDG.rhel10.1.x86_64.rpm
timescaledb-tsl_18 2.26.3 el10.x86_64 pgdg 754.5 KiB timescaledb-tsl_18-2.26.3-1PGDG.rhel10.1.x86_64.rpm
timescaledb-tsl_18 2.26.2 el10.x86_64 pgdg 757.5 KiB timescaledb-tsl_18-2.26.2-1PGDG.rhel10.1.x86_64.rpm
timescaledb-tsl_18 2.26.1 el10.x86_64 pgdg 757.3 KiB timescaledb-tsl_18-2.26.1-1PGDG.rhel10.1.x86_64.rpm
timescaledb-tsl_18 2.26.0 el10.x86_64 pgdg 755.7 KiB timescaledb-tsl_18-2.26.0-1PGDG.rhel10.1.x86_64.rpm
timescaledb-tsl_18 2.25.2 el10.x86_64 pgdg 731.4 KiB timescaledb-tsl_18-2.25.2-1PGDG.rhel10.1.x86_64.rpm
timescaledb-tsl_18 2.25.1 el10.x86_64 pgdg 727.8 KiB timescaledb-tsl_18-2.25.1-1PGDG.rhel10.1.x86_64.rpm
timescaledb-tsl_18 2.25.0 el10.x86_64 pgdg 727.8 KiB timescaledb-tsl_18-2.25.0-1PGDG.rhel10.1.x86_64.rpm
timescaledb-tsl_18 2.23.1 el10.x86_64 pgdg 743.3 KiB timescaledb-tsl_18-2.23.1-1PGDG.rhel10.x86_64.rpm
timescaledb-tsl_18 2.23.0 el10.x86_64 pgdg 741.3 KiB timescaledb-tsl_18-2.23.0-1PGDG.rhel10.x86_64.rpm
timescaledb-tsl_18 2.27.0 el10.aarch64 pigsty 741.7 KiB timescaledb-tsl_18-2.27.0-1PIGSTY.el10.aarch64.rpm
postgresql-18-timescaledb-tsl 2.27.0 d12.x86_64 pigsty 749.0 KiB postgresql-18-timescaledb-tsl_2.27.0-1PIGSTY~bookworm_amd64.deb
postgresql-18-timescaledb-tsl 2.27.0 d12.aarch64 pigsty 685.8 KiB postgresql-18-timescaledb-tsl_2.27.0-1PIGSTY~bookworm_arm64.deb
postgresql-18-timescaledb-tsl 2.27.0 d13.x86_64 pigsty 758.4 KiB postgresql-18-timescaledb-tsl_2.27.0-1PIGSTY~trixie_amd64.deb
postgresql-18-timescaledb-tsl 2.27.0 d13.aarch64 pigsty 695.4 KiB postgresql-18-timescaledb-tsl_2.27.0-1PIGSTY~trixie_arm64.deb
postgresql-18-timescaledb-tsl 2.27.0 u22.x86_64 pigsty 810.0 KiB postgresql-18-timescaledb-tsl_2.27.0-1PIGSTY~jammy_amd64.deb
postgresql-18-timescaledb-tsl 2.27.0 u22.aarch64 pigsty 776.4 KiB postgresql-18-timescaledb-tsl_2.27.0-1PIGSTY~jammy_arm64.deb
postgresql-18-timescaledb-tsl 2.27.0 u24.x86_64 pigsty 796.7 KiB postgresql-18-timescaledb-tsl_2.27.0-1PIGSTY~noble_amd64.deb
postgresql-18-timescaledb-tsl 2.27.0 u24.aarch64 pigsty 773.4 KiB postgresql-18-timescaledb-tsl_2.27.0-1PIGSTY~noble_arm64.deb
postgresql-18-timescaledb-tsl 2.27.0 u26.x86_64 pigsty 803.9 KiB postgresql-18-timescaledb-tsl_2.27.0-1PIGSTY~resolute_amd64.deb
postgresql-18-timescaledb-tsl 2.27.0 u26.aarch64 pigsty 792.0 KiB postgresql-18-timescaledb-tsl_2.27.0-1PIGSTY~resolute_arm64.deb

Source

pig build pkg timescaledb;		# build rpm/deb

Install

Make sure PGDG and PIGSTY repo available:

pig repo add pgsql -u   # add both repo and update cache

Install this extension with pig:

pig install timescaledb;		# install via package name, for the active PG version

pig install timescaledb -v 18;   # install for PG 18
pig install timescaledb -v 17;   # install for PG 17
pig install timescaledb -v 16;   # install for PG 16
pig install timescaledb -v 15;   # install for PG 15

Config this extension to shared_preload_libraries:

shared_preload_libraries = 'timescaledb';

Create this extension with:

CREATE EXTENSION timescaledb;

Usage

Sources: README, TimescaleDB 2.27.0 release, CREATE TABLE API, create_hypertable() API, continuous aggregate API, add_columnstore_policy() API, GUCs

timescaledb is a PostgreSQL extension for time-series and event analytics. The current docs emphasize CREATE TABLE ... WITH (tsdb.hypertable), continuous aggregates, automation jobs, and moving chunks into the columnstore.

Hypertables

CREATE EXTENSION timescaledb;

CREATE TABLE ts_test (
  ts timestamptz NOT NULL,
  id bigint,
  v integer
) WITH (
  tsdb.hypertable,
  tsdb.orderby = 'ts DESC'
);

To convert an existing PostgreSQL table, use the generalized hypertable API:

CREATE TABLE ts_existing (
  ts timestamptz NOT NULL,
  id bigint,
  v integer
);
SELECT create_hypertable('ts_existing', by_range('ts'));
  • CREATE TABLE ... WITH (tsdb.hypertable) has been documented since TimescaleDB 2.20.0 and is the best-practice path for new hypertables.
  • For TimescaleDB 2.23.0 and later, the first TIMESTAMP or TIMESTAMPTZ column is selected automatically as the partition column unless more than one candidate makes the choice ambiguous.
  • create_hypertable() still works for converting existing tables.

Continuous aggregates and jobs

CREATE MATERIALIZED VIEW ts_hourly
WITH (timescaledb.continuous) AS
SELECT time_bucket('1 hour', ts) AS bucket,
       count(*) AS cnt,
       avg(v)   AS avg_v
FROM ts_test
GROUP BY bucket;

SELECT add_continuous_aggregate_policy(
  'ts_hourly',
  start_offset => INTERVAL '3 hours',
  end_offset => INTERVAL '1 hour',
  schedule_interval => INTERVAL '1 hour'
);

SELECT add_job('user_defined_action', '1h');
  • Continuous aggregates require time_bucket(...) on the hypertable’s time dimension.
  • The continuous aggregate WITH clause supports timescaledb.materialized_only; the current API default is TRUE, so real-time aggregation is not enabled unless configured otherwise.

Columnstore

CREATE TABLE crypto_ticks (
  "time" timestamptz,
  symbol text,
  price double precision,
  day_volume numeric
) WITH (
  tsdb.hypertable,
  tsdb.segmentby = 'symbol',
  tsdb.orderby = 'time DESC'
);

CALL add_columnstore_policy('crypto_ticks', after => INTERVAL '60 days');
  • CREATE TABLE ... WITH (tsdb.hypertable) enables columnstore by default unless tsdb.columnstore = false.
  • add_columnstore_policy() replaces the older add_compression_policy() API and requires either after or created_before, not both.
  • Bloom filters are enabled by default for new columnstore chunks. Existing chunks need recompression before they have bloom indexes.

Relevant GUCs

SET timescaledb.enable_direct_compress_insert = on;
SET timescaledb.enable_cagg_rewrites = on;
SET timescaledb.enable_columnar_scan_filter_pushdown = on;

timescaledb.enable_direct_compress_insert and timescaledb.enable_direct_compress_copy enable tech-preview direct compression during ingestion. TimescaleDB 2.27.0 adds timescaledb.enable_cagg_rewrites and timescaledb.cagg_rewrites_debug_info, and documents timescaledb.enable_columnar_scan_filter_pushdown as enabled by default.

Caveats

  • This project’s CSV tracks TimescaleDB 2.27.0 for PostgreSQL 15-18.
  • TimescaleDB 2.27.0 adds Hypercore columnstore performance work: vectorized filters, bloom-filter pruning for UPDATE/DELETE equality predicates, and bloom-filter pruning for UPSERT.
  • The 2.27.0 release notes list backward-incompatible upgrade caveats for affected compressed int2 bloom sparse indexes and for composite bloom metadata generated by v2.26.
  • The 2.27.0 release notes announce that the June 2026 TimescaleDB release is planned to be the last version supporting PostgreSQL 15.
Last updated on