aggs_for_arrays
aggs_for_arrays
aggs_for_arrays : Various functions for computing statistics on arrays of numbers
Overview
| ID | Extension | Package | Version | Category | License | Language |
|---|---|---|---|---|---|---|
| 4750 | aggs_for_arrays | aggs_for_arrays | 1.3.3 | FUNC | MIT | C |
| Attribute | Has Binary | Has Library | Need Load | Has DDL | Relocatable | Trusted |
|---|---|---|---|---|---|---|
--s-d-r | No | Yes | No | Yes | yes | no |
| Relationships | |
|---|---|
| See Also | aggs_for_vecs first_last_agg arraymath intarray topn quantile |
Packages
| Type | Repo | Version | PG Major Compatibility | Package Pattern | Dependencies |
|---|---|---|---|---|---|
| EXT | PIGSTY | 1.3.3 | 18 17 16 15 14 | aggs_for_arrays | - |
| RPM | PIGSTY | 1.3.3 | 18 17 16 15 14 | aggs_for_arrays_$v | - |
| DEB | PIGSTY | 1.3.3 | 18 17 16 15 14 | postgresql-$v-aggs-for-arrays | - |
| Linux / PG | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|
el8.x86_64 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 |
el8.aarch64 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 |
el9.x86_64 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 |
el9.aarch64 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 |
el10.x86_64 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 |
el10.aarch64 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 |
d12.x86_64 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 |
d12.aarch64 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 |
d13.x86_64 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 |
d13.aarch64 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 |
u22.x86_64 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 |
u22.aarch64 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 |
u24.x86_64 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 |
u24.aarch64 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 | PIGSTY 1.3.3 |
Source
pig build pkg aggs_for_arrays; # build rpm/debInstall
Make sure PGDG and PIGSTY repo available:
pig repo add pgsql -u # add both repo and update cacheInstall this extension with pig:
pig install aggs_for_arrays; # install via package name, for the active PG version
pig install aggs_for_arrays -v 18; # install for PG 18
pig install aggs_for_arrays -v 17; # install for PG 17
pig install aggs_for_arrays -v 16; # install for PG 16
pig install aggs_for_arrays -v 15; # install for PG 15
pig install aggs_for_arrays -v 14; # install for PG 14Create this extension with:
CREATE EXTENSION aggs_for_arrays;Usage
aggs_for_arrays: aggregate-like functions for single arrays (column-based)
Provides functions that compute statistics on a single array input. Supports SMALLINT, INTEGER, BIGINT, REAL, and DOUBLE PRECISION.
CREATE EXTENSION aggs_for_arrays;Functions
| Function | Description |
|---|---|
array_to_hist(values T[], start T, width T, count INT) | Compute histogram bucket counts |
array_to_hist_2d(x[], y[], ...) | 2-D histogram |
array_to_mean(values T[]) | Mean of array elements |
array_to_median(values T[]) | Median (unsorted input OK) |
sorted_array_to_median(values T[]) | Median (pre-sorted input) |
array_to_mode(values T[]) | Mode of array elements |
sorted_array_to_mode(values T[]) | Mode (pre-sorted input) |
array_to_percentile(values T[], pct FLOAT) | Percentile (0 to 1) |
sorted_array_to_percentile(values T[], pct FLOAT) | Percentile (pre-sorted input) |
array_to_percentiles(values T[], pcts FLOAT[]) | Multiple percentiles |
sorted_array_to_percentiles(values T[], pcts FLOAT[]) | Multiple percentiles (pre-sorted) |
array_to_max(values T[]) | Maximum element |
array_to_min(values T[]) | Minimum element |
array_to_min_max(values T[]) | {min, max} tuple |
array_to_skewness(values T[]) | Skewness |
array_to_kurtosis(values T[]) | Kurtosis |
Examples
-- Histogram with 10 buckets starting at 0, width 10
SELECT array_to_hist(ARRAY[5,15,25,35,45], 0, 10, 5);
-- {1,1,1,1,1}
-- Mean and median
SELECT array_to_mean(ARRAY[1,2,3,4,5]); -- 3.0
SELECT array_to_median(ARRAY[1,2,3,4,5]); -- 3.0
-- Percentiles
SELECT array_to_percentile(ARRAY[1,2,3,4,5,6,7,8,9,10], 0.95);
-- Multiple percentiles at once
SELECT array_to_percentiles(ARRAY[1,2,3,4,5], ARRAY[0.25, 0.5, 0.75]);Last updated on