← ClaudeAtlas

setup-timescaledb-hypertableslisted

Step-by-step instructions for designing table schemas and setting up TimescaleDB with hypertables, indexes, compression, retention policies, and continuous aggregates. Instructions for selecting: partition columns, segment_by columns, order_by columns, chunk time interval, real-time aggregation.
jhonny028966/pg-aiguide · ★ 1 · API & Backend · score 67
Install: claude install-skill jhonny028966/pg-aiguide
# TimescaleDB Complete Setup Instructions for insert-heavy data patterns where data is inserted but rarely changed: - **Time-series data** (sensors, metrics, system monitoring) - **Event logs** (user events, audit trails, application logs) - **Transaction records** (orders, payments, financial transactions) - **Sequential data** (records with auto-incrementing IDs and timestamps) - **Append-only datasets** (immutable records, historical data) ## Step 1: Create Hypertable ```sql CREATE TABLE your_table_name ( timestamp TIMESTAMPTZ NOT NULL, entity_id TEXT NOT NULL, -- device_id, user_id, symbol, etc. category TEXT, -- sensor_type, event_type, asset_class, etc. value_1 DOUBLE PRECISION, -- price, temperature, latency, etc. value_2 DOUBLE PRECISION, -- volume, humidity, throughput, etc. value_3 INTEGER, -- count, status, level, etc. metadata JSONB -- flexible additional data ) WITH ( tsdb.hypertable, tsdb.partition_column='timestamp', tsdb.enable_columnstore=true, -- Disable if table has vector columns tsdb.segmentby='entity_id', -- See selection guide below tsdb.orderby='timestamp DESC', -- See selection guide below tsdb.sparse_index='minmax(value_1),minmax(value_2),minmax(value_3)' -- see selection guide below ); ``` ### Compression Decision - **Enable by default** for insert-heavy patterns - **Disable** if table has vector typ