timescaledb

Enables scalable inserts and complex queries for time-series data

Overview

PIGSTY 3rd Party Extension: timescaledb : Enables scalable inserts and complex queries for time-series data

Information

Metadata

  • Latest Version: 2.19.0
  • Postgres Support: 17,16,15,14
  • Need Load: Explicit Loading Required
  • Need DDL: Need CREATE EXTENSION DDL
  • Relocatable: Can be installed into other schemas
  • Trusted: Untrusted, Require Superuser to Create
  • Schemas: timescaledb_information, timescaledb_experimental
  • Requires: N/A

RPM / DEB

  • RPM Repo: PIGSTY
  • RPM Name: timescaledb-tsl_$v*
  • RPM Ver : 2.18.2
  • RPM Deps: N/A
  • DEB Repo: PIGSTY
  • DEB Name: postgresql-$v-timescaledb-tsl
  • DEB Ver : 2.18.2
  • DEB Deps: N/A

Availability

OS Arch PG17 PG16 PG15 PG14 PG13
el8 x86_64 timescaledb-tsl_17
PIGSTY 2.19.0
timescaledb-tsl_16
PIGSTY 2.19.0
timescaledb-tsl_15
PIGSTY 2.19.0
timescaledb-tsl_14
PIGSTY 2.19.0
timescaledb-tsl_13
PGDG 2.15.3
el8 aarch64 timescaledb-tsl_17
PIGSTY 2.19.0
timescaledb-tsl_16
PIGSTY 2.19.0
timescaledb-tsl_15
PIGSTY 2.19.0
timescaledb-tsl_14
PIGSTY 2.19.0
el9 x86_64 timescaledb-tsl_17
PIGSTY 2.19.0
timescaledb-tsl_16
PIGSTY 2.19.0
timescaledb-tsl_15
PIGSTY 2.19.0
timescaledb-tsl_14
PIGSTY 2.19.0
timescaledb-tsl_13
PGDG 2.15.3
el9 aarch64 timescaledb-tsl_17
PIGSTY 2.19.0
timescaledb-tsl_16
PIGSTY 2.19.0
timescaledb-tsl_15
PIGSTY 2.19.0
timescaledb-tsl_14
PIGSTY 2.19.0
d12 x86_64 postgresql-17-timescaledb-tsl
PIGSTY 2.19.0
postgresql-16-timescaledb-tsl
PIGSTY 2.19.0
postgresql-15-timescaledb-tsl
PIGSTY 2.19.0
postgresql-14-timescaledb-tsl
PIGSTY 2.19.0
d12 aarch64 postgresql-17-timescaledb-tsl
PIGSTY 2.19.0
postgresql-16-timescaledb-tsl
PIGSTY 2.19.0
postgresql-15-timescaledb-tsl
PIGSTY 2.19.0
postgresql-14-timescaledb-tsl
PIGSTY 2.19.0
u22 x86_64 postgresql-17-timescaledb-tsl
PIGSTY 2.19.0
postgresql-16-timescaledb-tsl
PIGSTY 2.19.0
postgresql-15-timescaledb-tsl
PIGSTY 2.19.0
postgresql-14-timescaledb-tsl
PIGSTY 2.19.0
u22 aarch64 postgresql-17-timescaledb-tsl
PIGSTY 2.19.0
postgresql-16-timescaledb-tsl
PIGSTY 2.19.0
postgresql-15-timescaledb-tsl
PIGSTY 2.19.0
postgresql-14-timescaledb-tsl
PIGSTY 2.19.0
u24 x86_64 postgresql-17-timescaledb-tsl
PIGSTY 2.19.0
postgresql-16-timescaledb-tsl
PIGSTY 2.19.0
postgresql-15-timescaledb-tsl
PIGSTY 2.19.0
postgresql-14-timescaledb-tsl
PIGSTY 2.19.0
u24 aarch64 postgresql-17-timescaledb-tsl
PIGSTY 2.19.0
postgresql-16-timescaledb-tsl
PIGSTY 2.19.0
postgresql-15-timescaledb-tsl
PIGSTY 2.19.0
postgresql-14-timescaledb-tsl
PIGSTY 2.19.0

Installation

Install timescaledb via the pig CLI tool:

pig ext install timescaledb

Install timescaledb via Pigsty playbook:

./pgsql.yml -t pg_extension -e '{"pg_extensions": ["timescaledb"]}' # -l <cls>

Install timescaledb RPM from YUM repo directly:

dnf install timescaledb-tsl_17*;
dnf install timescaledb-tsl_16*;
dnf install timescaledb-tsl_15*;
dnf install timescaledb-tsl_14*;

Install timescaledb DEB from APT repo directly:

apt install postgresql-17-timescaledb-tsl;
apt install postgresql-16-timescaledb-tsl;
apt install postgresql-15-timescaledb-tsl;
apt install postgresql-14-timescaledb-tsl;

Extension timescaledb has to be loaded via shared_preload_libraries

shared_preload_libraries = 'timescaledb'; # add to pg cluster config

Create timescaledb extension on PostgreSQL cluster:

CREATE EXTENSION timescaledb;

Usage

Create a table and turn it into hypertable

DROP TABLE IF EXISTS ts_test;
CREATE TABLE ts_test
(
    id BIGINT PRIMARY KEY,
    ts TIMESTAMPTZ NOT NULL,
    v  INTEGER -- payload
);
SELECT create_hypertable('ts_test', by_range('id'));

INSERT INTO ts_test 
    SELECT i, now() + (i || ' seconds')::INTERVAL, i % 100 
    FROM generate_series(1, 1000000) i;


ALTER TABLE ts_test SET (timescaledb.compress_chunk_time_interval = '24 hours');

Continuous Agg Example:


CREATE MATERIALIZED VIEW continuous_aggregate_daily( timec, minl, sumt, sumh )
WITH (timescaledb.continuous) AS
  SELECT count(*) FROM ts_test;


SELECT add_job('SELECT 1','1h', initial_start => '2024-07-09 18:52:00+00'::timestamptz);




Last modified 2025-03-21: use global url (cc35107)