Skip to content
timescaledb

timescaledb

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

Overview

IDExtensionPackageVersionCategoryLicenseLanguage
1000
timescaledb
timescaledb
2.27.0
TIME
Timescale
C
AttributeHas BinaryHas LibraryNeed LoadHas DDLRelocatableTrusted
--sLdt-
No
Yes
Yes
Yes
no
yes
Relationships
Schemastimescaledb_information timescaledb_experimental
See Also
timescaledb_toolkit
timeseries
pg_cron
pg_partman
periods
temporal_tables
emaj
pg_task

Packages

TypeRepoVersionPG Major CompatibilityPackage PatternDependencies
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 / PGPG18PG17PG16PG15PG14
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
PackageVersionOSORGSIZEFile URL
timescaledb-tsl_182.27.0el8.x86_64pigsty840.5 KiBtimescaledb-tsl_18-2.27.0-1PIGSTY.el8.x86_64.rpm
timescaledb-tsl_182.27.0el8.x86_64pgdg768.2 KiBtimescaledb-tsl_18-2.27.0-1PGDG.rhel8.10.x86_64.rpm
timescaledb-tsl_182.26.4el8.x86_64pgdg753.8 KiBtimescaledb-tsl_18-2.26.4-1PGDG.rhel8.10.x86_64.rpm
timescaledb-tsl_182.26.3el8.x86_64pgdg750.8 KiBtimescaledb-tsl_18-2.26.3-1PGDG.rhel8.10.x86_64.rpm
timescaledb-tsl_182.26.2el8.x86_64pgdg751.5 KiBtimescaledb-tsl_18-2.26.2-1PGDG.rhel8.10.x86_64.rpm
timescaledb-tsl_182.26.1el8.x86_64pgdg750.5 KiBtimescaledb-tsl_18-2.26.1-1PGDG.rhel8.10.x86_64.rpm
timescaledb-tsl_182.26.0el8.x86_64pgdg749.8 KiBtimescaledb-tsl_18-2.26.0-1PGDG.rhel8.10.x86_64.rpm
timescaledb-tsl_182.25.2el8.x86_64pgdg730.2 KiBtimescaledb-tsl_18-2.25.2-1PGDG.rhel8.10.x86_64.rpm
timescaledb-tsl_182.25.1el8.x86_64pgdg727.5 KiBtimescaledb-tsl_18-2.25.1-2PGDG.rhel8.10.x86_64.rpm
timescaledb-tsl_182.25.0el8.x86_64pgdg726.5 KiBtimescaledb-tsl_18-2.25.0-1PGDG.rhel8.10.x86_64.rpm
timescaledb-tsl_182.23.1el8.x86_64pgdg733.6 KiBtimescaledb-tsl_18-2.23.1-1PGDG.rhel8.x86_64.rpm
timescaledb-tsl_182.23.0el8.x86_64pgdg733.3 KiBtimescaledb-tsl_18-2.23.0-1PGDG.rhel8.x86_64.rpm
timescaledb-tsl_182.27.0el8.aarch64pigsty771.3 KiBtimescaledb-tsl_18-2.27.0-1PIGSTY.el8.aarch64.rpm
timescaledb-tsl_182.27.0el9.x86_64pigsty763.1 KiBtimescaledb-tsl_18-2.27.0-1PIGSTY.el9.x86_64.rpm
timescaledb-tsl_182.27.0el9.x86_64pgdg746.1 KiBtimescaledb-tsl_18-2.27.0-1PGDG.rhel9.7.x86_64.rpm
timescaledb-tsl_182.26.4el9.x86_64pgdg729.6 KiBtimescaledb-tsl_18-2.26.4-1PGDG.rhel9.7.x86_64.rpm
timescaledb-tsl_182.26.3el9.x86_64pgdg728.1 KiBtimescaledb-tsl_18-2.26.3-1PGDG.rhel9.7.x86_64.rpm
timescaledb-tsl_182.26.2el9.x86_64pgdg727.4 KiBtimescaledb-tsl_18-2.26.2-1PGDG.rhel9.7.x86_64.rpm
timescaledb-tsl_182.26.1el9.x86_64pgdg728.0 KiBtimescaledb-tsl_18-2.26.1-1PGDG.rhel9.7.x86_64.rpm
timescaledb-tsl_182.26.0el9.x86_64pgdg723.9 KiBtimescaledb-tsl_18-2.26.0-1PGDG.rhel9.7.x86_64.rpm
timescaledb-tsl_182.25.2el9.x86_64pgdg702.5 KiBtimescaledb-tsl_18-2.25.2-1PGDG.rhel9.7.x86_64.rpm
timescaledb-tsl_182.25.1el9.x86_64pgdg700.7 KiBtimescaledb-tsl_18-2.25.1-1PGDG.rhel9.7.x86_64.rpm
timescaledb-tsl_182.25.0el9.x86_64pgdg699.8 KiBtimescaledb-tsl_18-2.25.0-1PGDG.rhel9.7.x86_64.rpm
timescaledb-tsl_182.23.1el9.x86_64pgdg719.4 KiBtimescaledb-tsl_18-2.23.1-1PGDG.rhel9.x86_64.rpm
timescaledb-tsl_182.23.0el9.x86_64pgdg715.8 KiBtimescaledb-tsl_18-2.23.0-1PGDG.rhel9.x86_64.rpm
timescaledb-tsl_182.27.0el9.aarch64pigsty727.0 KiBtimescaledb-tsl_18-2.27.0-1PIGSTY.el9.aarch64.rpm
timescaledb-tsl_182.27.0el10.x86_64pigsty790.7 KiBtimescaledb-tsl_18-2.27.0-1PIGSTY.el10.x86_64.rpm
timescaledb-tsl_182.27.0el10.x86_64pgdg770.3 KiBtimescaledb-tsl_18-2.27.0-1PGDG.rhel10.1.x86_64.rpm
timescaledb-tsl_182.26.4el10.x86_64pgdg758.4 KiBtimescaledb-tsl_18-2.26.4-1PGDG.rhel10.1.x86_64.rpm
timescaledb-tsl_182.26.3el10.x86_64pgdg754.5 KiBtimescaledb-tsl_18-2.26.3-1PGDG.rhel10.1.x86_64.rpm
timescaledb-tsl_182.26.2el10.x86_64pgdg757.5 KiBtimescaledb-tsl_18-2.26.2-1PGDG.rhel10.1.x86_64.rpm
timescaledb-tsl_182.26.1el10.x86_64pgdg757.3 KiBtimescaledb-tsl_18-2.26.1-1PGDG.rhel10.1.x86_64.rpm
timescaledb-tsl_182.26.0el10.x86_64pgdg755.7 KiBtimescaledb-tsl_18-2.26.0-1PGDG.rhel10.1.x86_64.rpm
timescaledb-tsl_182.25.2el10.x86_64pgdg731.4 KiBtimescaledb-tsl_18-2.25.2-1PGDG.rhel10.1.x86_64.rpm
timescaledb-tsl_182.25.1el10.x86_64pgdg727.8 KiBtimescaledb-tsl_18-2.25.1-1PGDG.rhel10.1.x86_64.rpm
timescaledb-tsl_182.25.0el10.x86_64pgdg727.8 KiBtimescaledb-tsl_18-2.25.0-1PGDG.rhel10.1.x86_64.rpm
timescaledb-tsl_182.23.1el10.x86_64pgdg743.3 KiBtimescaledb-tsl_18-2.23.1-1PGDG.rhel10.x86_64.rpm
timescaledb-tsl_182.23.0el10.x86_64pgdg741.3 KiBtimescaledb-tsl_18-2.23.0-1PGDG.rhel10.x86_64.rpm
timescaledb-tsl_182.27.0el10.aarch64pigsty741.7 KiBtimescaledb-tsl_18-2.27.0-1PIGSTY.el10.aarch64.rpm
postgresql-18-timescaledb-tsl2.27.0d12.x86_64pigsty749.0 KiBpostgresql-18-timescaledb-tsl_2.27.0-1PIGSTY~bookworm_amd64.deb
postgresql-18-timescaledb-tsl2.27.0d12.aarch64pigsty685.8 KiBpostgresql-18-timescaledb-tsl_2.27.0-1PIGSTY~bookworm_arm64.deb
postgresql-18-timescaledb-tsl2.27.0d13.x86_64pigsty758.4 KiBpostgresql-18-timescaledb-tsl_2.27.0-1PIGSTY~trixie_amd64.deb
postgresql-18-timescaledb-tsl2.27.0d13.aarch64pigsty695.4 KiBpostgresql-18-timescaledb-tsl_2.27.0-1PIGSTY~trixie_arm64.deb
postgresql-18-timescaledb-tsl2.27.0u22.x86_64pigsty810.0 KiBpostgresql-18-timescaledb-tsl_2.27.0-1PIGSTY~jammy_amd64.deb
postgresql-18-timescaledb-tsl2.27.0u22.aarch64pigsty776.4 KiBpostgresql-18-timescaledb-tsl_2.27.0-1PIGSTY~jammy_arm64.deb
postgresql-18-timescaledb-tsl2.27.0u24.x86_64pigsty796.7 KiBpostgresql-18-timescaledb-tsl_2.27.0-1PIGSTY~noble_amd64.deb
postgresql-18-timescaledb-tsl2.27.0u24.aarch64pigsty773.4 KiBpostgresql-18-timescaledb-tsl_2.27.0-1PIGSTY~noble_arm64.deb
postgresql-18-timescaledb-tsl2.27.0u26.x86_64pigsty803.9 KiBpostgresql-18-timescaledb-tsl_2.27.0-1PIGSTY~resolute_amd64.deb
postgresql-18-timescaledb-tsl2.27.0u26.aarch64pigsty792.0 KiBpostgresql-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