Tiger Cloud: Performance, Scale, Enterprise, Free
Self-hosted products
MST
Hyperfunctions in TimescaleDB are a specialized set of functions that allow you to analyze time-series data. You can use hyperfunctions to analyze anything you have stored as time-series data, including IoT devices, IT systems, marketing analytics, user behavior, financial metrics, and cryptocurrency.
Some hyperfunctions are included by default in TimescaleDB. For additional hyperfunctions, you need to install the TimescaleDB Toolkit Postgres extension.
For more information, see the hyperfunctions documentation.
Approximate count distinct functions
| Hyperfunction type | Hyperfunction name | Toolkit | Experimental | |
|---|---|---|---|---|
| hyperloglog() functions | ||||
| Aggregate | hyperloglog() | ✅ | ||
| Alternate aggregate | approx_count_distinct() | ✅ | ||
| Accessor | distinct_count() | ✅ | ||
| stderror() | ✅ | |||
| Rollup | rollup() | ✅ | ||
Counters and gauges functions
| Hyperfunction type | Hyperfunction name | Toolkit | Experimental | |
|---|---|---|---|---|
| counter_agg() functions | ||||
| Aggregate | counter_agg() | ✅ | ||
| Accessor | corr() | ✅ | ||
| counter_zero_time() | ✅ | |||
| delta() | ✅ | |||
| extrapolated_delta() | ✅ | |||
| extrapolated_rate() | ✅ | |||
| first_time() | ✅ | |||
| first_val() | ✅ | |||
| idelta_left() | ✅ | |||
| idelta_right() | ✅ | |||
| intercept() | ✅ | |||
| interpolated_rate() | ✅ | |||
| irate_left() | ✅ | |||
| irate_right() | ✅ | |||
| last_time() | ✅ | |||
| last_val() | ✅ | |||
| num_changes() | ✅ | |||
| num_elements() | ✅ | |||
| interpolated_delta() | ✅ | |||
| num_resets() | ✅ | |||
| rate() | ✅ | |||
| slope() | ✅ | |||
| time_delta() | ✅ | |||
| Rollup | rollup() | ✅ | ||
| Mutator | with_bounds() | ✅ | ||
| gauge_agg() functions | ||||
| Aggregate | gauge_agg() | ✅ | ✅ | |
| Accessor | corr() | ✅ | ✅ | |
| delta() | ✅ | ✅ | ||
| extrapolated_delta() | ✅ | ✅ | ||
| extrapolated_rate() | ✅ | ✅ | ||
| gauge_zero_time() | ✅ | ✅ | ||
| idelta_left() | ✅ | ✅ | ||
| idelta_right() | ✅ | ✅ | ||
| intercept() | ✅ | ✅ | ||
| interpolated_delta() | ✅ | ✅ | ||
| interpolated_rate() | ✅ | ✅ | ||
| irate_left() | ✅ | ✅ | ||
| irate_right() | ✅ | ✅ | ||
| num_changes() | ✅ | ✅ | ||
| num_elements() | ✅ | ✅ | ||
| rate() | ✅ | ✅ | ||
| slope() | ✅ | ✅ | ||
| time_delta() | ✅ | ✅ | ||
| Rollup | rollup() | ✅ | ✅ | |
| Mutator | with_bounds() | ✅ | ✅ | |
Downsampling functions
| Hyperfunction type | Hyperfunction name | Toolkit | Experimental | 
|---|---|---|---|
| Function | asap_smooth() | ✅ | |
| gp_lttb() | ✅ | ✅ | |
| lttb() | ✅ | 
Financial analysis functions
| Hyperfunction type | Hyperfunction name | Toolkit | Experimental | |
|---|---|---|---|---|
| candlestick_agg() functions | ||||
| Aggregate | candlestick_agg() | ✅ | ||
| Pseudo aggregate | candlestick() | ✅ | ||
| Accessor | close() | ✅ | ||
| close_time() | ✅ | |||
| high() | ✅ | |||
| high_time() | ✅ | |||
| low() | ✅ | |||
| low_time() | ✅ | |||
| open_time() | ✅ | |||
| volume() | ✅ | |||
| vwap() | ✅ | |||
| open() | ✅ | |||
| Rollup | rollup() | ✅ | ||
Frequency analysis functions
| Hyperfunction type | Hyperfunction name | Toolkit | Experimental | |
|---|---|---|---|---|
| count_min_sketch() functions | ||||
| Aggregate | count_min_sketch() | ✅ | ✅ | |
| Accessor | approx_count() | ✅ | ✅ | |
| freq_agg() functions | ||||
| Aggregate | freq_agg() | ✅ | ✅ | |
| Accessor | into_values() | ✅ | ||
| max_frequency() | ✅ | |||
| min_frequency() | ✅ | |||
| topn() | ✅ | |||
| Alternate aggregate | mcv_agg() | ✅ | ||
| Rollup | rollup() | ✅ | ||
Gapfilling functions
| Hyperfunction type | Hyperfunction name | Toolkit | Experimental | 
|---|---|---|---|
| Bucket | time_bucket_gapfill() | ||
| Interpolator | interpolate() | ||
| locf() | 
Minimum and maximum functions
| Hyperfunction type | Hyperfunction name | Toolkit | Experimental | |
|---|---|---|---|---|
| max_n() functions | ||||
| Aggregate | max_n() | ✅ | ||
| Accessor | into_array() | ✅ | ||
| into_values() | ✅ | |||
| Rollup | rollup() | ✅ | ||
| max_n_by() functions | ||||
| Aggregate | max_n_by() | ✅ | ||
| Accessor | into_values() | ✅ | ||
| Rollup | rollup() | ✅ | ||
| min_n() functions | ||||
| Aggregate | min_n() | ✅ | ||
| Accessor | into_array() | ✅ | ||
| into_values() | ✅ | |||
| Rollup | rollup() | ✅ | ||
| min_n_by() functions | ||||
| Aggregate | min_n_by() | ✅ | ||
| Accessor | into_values() | ✅ | ||
| Rollup | rollup() | ✅ | ||
Percentile approximation functions
| Hyperfunction type | Hyperfunction name | Toolkit | Experimental | |
|---|---|---|---|---|
| tdigest() functions | ||||
| Aggregate | tdigest() | ✅ | ||
| Accessor | approx_percentile() | ✅ | ||
| approx_percentile_rank() | ✅ | |||
| mean() | ✅ | |||
| num_vals() | ✅ | |||
| Rollup | rollup() | ✅ | ||
| uddsketch() functions | ||||
| Aggregate | uddsketch() | ✅ | ||
| Accessor | approx_percentile() | ✅ | ||
| approx_percentile_array() | ✅ | |||
| approx_percentile_rank() | ✅ | |||
| error() | ✅ | |||
| mean() | ✅ | |||
| num_vals() | ✅ | |||
| Alternate aggregate | percentile_agg() | ✅ | ||
| Rollup | rollup() | ✅ | ||
State tracking functions
| Hyperfunction type | Hyperfunction name | Toolkit | Experimental | |
|---|---|---|---|---|
| compact_state_agg() functions | ||||
| Aggregate | compact_state_agg() | ✅ | ✅ | |
| Accessor | duration_in() | ✅ | ✅ | |
| interpolated_duration_in() | ✅ | ✅ | ||
| into_values() | ✅ | ✅ | ||
| Rollup | rollup() | ✅ | ✅ | |
| heartbeat_agg() functions | ||||
| Aggregate | heartbeat_agg() | ✅ | ||
| Accessor | dead_ranges() | ✅ | ||
| downtime() | ✅ | |||
| interpolate() | ✅ | |||
| interpolated_downtime() | ✅ | |||
| interpolated_uptime() | ✅ | |||
| live_at() | ✅ | |||
| live_ranges() | ✅ | |||
| num_gaps() | ✅ | |||
| num_live_ranges() | ✅ | |||
| trim_to() | ✅ | |||
| uptime() | ✅ | |||
| Rollup | rollup() | ✅ | ||
| state_agg() functions | ||||
| Aggregate | state_agg() | ✅ | ||
| Accessor | duration_in() | ✅ | ||
| interpolated_duration_in() | ✅ | |||
| interpolated_state_periods() | ✅ | |||
| interpolated_state_timeline() | ✅ | |||
| into_values() | ✅ | |||
| state_at() | ✅ | |||
| state_periods() | ✅ | |||
| state_timeline() | ✅ | |||
| Rollup | rollup() | ✅ | ||
Statistical and regression analysis functions
| Hyperfunction type | Hyperfunction name | Toolkit | Experimental | |
|---|---|---|---|---|
| stats_agg() (one variable) functions | ||||
| Aggregate | stats_agg() (one variable) | ✅ | ||
| Accessor | average() | ✅ | ||
| kurtosis() | ✅ | |||
| num_vals() | ✅ | |||
| skewness() | ✅ | |||
| stddev() | ✅ | |||
| sum() | ✅ | |||
| variance() | ✅ | |||
| Rollup | rolling() | ✅ | ||
| rollup() | ✅ | |||
| stats_agg() (two variables) functions | ||||
| Aggregate | stats_agg() (two variables) | ✅ | ||
| Accessor | average_y(),average_x() | ✅ | ||
| corr() | ✅ | |||
| covariance() | ✅ | |||
| determination_coeff() | ✅ | |||
| intercept() | ✅ | |||
| kurtosis_y(),kurtosis_x() | ✅ | |||
| num_vals() | ✅ | |||
| skewness_y(),skewness_x() | ✅ | |||
| slope() | ✅ | |||
| stddev_y(),stddev_x() | ✅ | |||
| sum_y(),sum_x() | ✅ | |||
| variance_y(),variance_x() | ✅ | |||
| x_intercept() | ✅ | |||
| Rollup | rolling() | ✅ | ||
| rollup() | ✅ | |||
Time weighted calculations functions
| Hyperfunction type | Hyperfunction name | Toolkit | Experimental | |
|---|---|---|---|---|
| time_weight() functions | ||||
| Aggregate | time_weight() | ✅ | ||
| Accessor | average() | ✅ | ||
| first_val() | ✅ | |||
| first_time() | ✅ | |||
| integral() | ✅ | |||
| interpolated_average() | ✅ | |||
| interpolated_integral() | ✅ | |||
| last_time() | ✅ | |||
| last_val() | ✅ | |||
| Rollup | rollup() | ✅ | ||
General functions
| Hyperfunction type | Hyperfunction name | Toolkit | Experimental | 
|---|---|---|---|
| Bucket | time_bucket() | ||
| timescaledb_experimental.time_bucket_ng() | ✅ | ||
| One step aggregate | approximate_row_count() | ||
| first() | |||
| histogram() | |||
| last() | |||
| One step operation | days_in_month() | ✅ | |
| month_normalize() | ✅ | 
Keywords
Found an issue on this page?Report an issue or Edit this page
 in GitHub.