omnisketch

omnisketch

omnisketch : data structure for on-line agg of data into approximate sketch

Overview

IDExtensionPackageVersionCategoryLicenseLanguage
4640
omnisketch
omnisketch
1.0.2
FUNC
PostgreSQL
C
AttributeHas BinaryHas LibraryNeed LoadHas DDLRelocatableTrusted
--s-d-r
No
Yes
No
Yes
yes
no
Relationships
See Also
ddsketch
hll
count_distinct
topn
quantile
lower_quantile
first_last_agg

Packages

TypeRepoVersionPG Major CompatibilityPackage PatternDependencies
EXT
PIGSTY
1.0.2
18
17
16
15
14
omnisketch-
RPM
PIGSTY
1.0.2
18
17
16
15
14
omnisketch_$v-
DEB
PIGSTY
1.0.2
18
17
16
15
14
postgresql-$v-omnisketch-
Linux / PGPG18PG17PG16PG15PG14
el8.x86_64
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
el8.aarch64
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
el9.x86_64
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
el9.aarch64
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
el10.x86_64
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
el10.aarch64
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
d12.x86_64
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
d12.aarch64
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
d13.x86_64
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
d13.aarch64
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
u22.x86_64
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
u22.aarch64
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
u24.x86_64
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
u24.aarch64
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PackageVersionOSORGSIZEFile URL
omnisketch_181.0.2el8.x86_64pigsty20.4 KiBomnisketch_18-1.0.2-1PIGSTY.el8.x86_64.rpm
omnisketch_181.0.2el8.aarch64pigsty20.3 KiBomnisketch_18-1.0.2-1PIGSTY.el8.aarch64.rpm
omnisketch_181.0.2el9.x86_64pigsty20.1 KiBomnisketch_18-1.0.2-1PIGSTY.el9.x86_64.rpm
omnisketch_181.0.2el9.aarch64pigsty20.3 KiBomnisketch_18-1.0.2-1PIGSTY.el9.aarch64.rpm
omnisketch_181.0.2el10.x86_64pigsty20.2 KiBomnisketch_18-1.0.2-1PIGSTY.el10.x86_64.rpm
omnisketch_181.0.2el10.aarch64pigsty20.5 KiBomnisketch_18-1.0.2-1PIGSTY.el10.aarch64.rpm
postgresql-18-omnisketch1.0.2d12.x86_64pigsty26.1 KiBpostgresql-18-omnisketch_1.0.2-1PIGSTY~bookworm_amd64.deb
postgresql-18-omnisketch1.0.2d12.aarch64pigsty26.1 KiBpostgresql-18-omnisketch_1.0.2-1PIGSTY~bookworm_arm64.deb
postgresql-18-omnisketch1.0.2d13.x86_64pigsty26.2 KiBpostgresql-18-omnisketch_1.0.2-1PIGSTY~trixie_amd64.deb
postgresql-18-omnisketch1.0.2d13.aarch64pigsty26.1 KiBpostgresql-18-omnisketch_1.0.2-1PIGSTY~trixie_arm64.deb
postgresql-18-omnisketch1.0.2u22.x86_64pigsty27.5 KiBpostgresql-18-omnisketch_1.0.2-1PIGSTY~jammy_amd64.deb
postgresql-18-omnisketch1.0.2u22.aarch64pigsty27.2 KiBpostgresql-18-omnisketch_1.0.2-1PIGSTY~jammy_arm64.deb
postgresql-18-omnisketch1.0.2u24.x86_64pigsty27.1 KiBpostgresql-18-omnisketch_1.0.2-1PIGSTY~noble_amd64.deb
postgresql-18-omnisketch1.0.2u24.aarch64pigsty27.1 KiBpostgresql-18-omnisketch_1.0.2-1PIGSTY~noble_arm64.deb
PackageVersionOSORGSIZEFile URL
omnisketch_171.0.2el8.x86_64pigsty20.4 KiBomnisketch_17-1.0.2-1PIGSTY.el8.x86_64.rpm
omnisketch_171.0.2el8.aarch64pigsty20.4 KiBomnisketch_17-1.0.2-1PIGSTY.el8.aarch64.rpm
omnisketch_171.0.2el9.x86_64pigsty20.1 KiBomnisketch_17-1.0.2-1PIGSTY.el9.x86_64.rpm
omnisketch_171.0.2el9.aarch64pigsty20.2 KiBomnisketch_17-1.0.2-1PIGSTY.el9.aarch64.rpm
omnisketch_171.0.2el10.x86_64pigsty20.2 KiBomnisketch_17-1.0.2-1PIGSTY.el10.x86_64.rpm
omnisketch_171.0.2el10.aarch64pigsty20.5 KiBomnisketch_17-1.0.2-1PIGSTY.el10.aarch64.rpm
postgresql-17-omnisketch1.0.2d12.x86_64pigsty26.0 KiBpostgresql-17-omnisketch_1.0.2-1PIGSTY~bookworm_amd64.deb
postgresql-17-omnisketch1.0.2d12.aarch64pigsty26.0 KiBpostgresql-17-omnisketch_1.0.2-1PIGSTY~bookworm_arm64.deb
postgresql-17-omnisketch1.0.2d13.x86_64pigsty26.1 KiBpostgresql-17-omnisketch_1.0.2-1PIGSTY~trixie_amd64.deb
postgresql-17-omnisketch1.0.2d13.aarch64pigsty26.1 KiBpostgresql-17-omnisketch_1.0.2-1PIGSTY~trixie_arm64.deb
postgresql-17-omnisketch1.0.2u22.x86_64pigsty28.9 KiBpostgresql-17-omnisketch_1.0.2-1PIGSTY~jammy_amd64.deb
postgresql-17-omnisketch1.0.2u22.aarch64pigsty28.5 KiBpostgresql-17-omnisketch_1.0.2-1PIGSTY~jammy_arm64.deb
postgresql-17-omnisketch1.0.2u24.x86_64pigsty27.0 KiBpostgresql-17-omnisketch_1.0.2-1PIGSTY~noble_amd64.deb
postgresql-17-omnisketch1.0.2u24.aarch64pigsty27.0 KiBpostgresql-17-omnisketch_1.0.2-1PIGSTY~noble_arm64.deb
PackageVersionOSORGSIZEFile URL
omnisketch_161.0.2el8.x86_64pigsty20.4 KiBomnisketch_16-1.0.2-1PIGSTY.el8.x86_64.rpm
omnisketch_161.0.2el8.aarch64pigsty20.4 KiBomnisketch_16-1.0.2-1PIGSTY.el8.aarch64.rpm
omnisketch_161.0.2el9.x86_64pigsty20.1 KiBomnisketch_16-1.0.2-1PIGSTY.el9.x86_64.rpm
omnisketch_161.0.2el9.aarch64pigsty20.2 KiBomnisketch_16-1.0.2-1PIGSTY.el9.aarch64.rpm
omnisketch_161.0.2el10.x86_64pigsty20.2 KiBomnisketch_16-1.0.2-1PIGSTY.el10.x86_64.rpm
omnisketch_161.0.2el10.aarch64pigsty20.5 KiBomnisketch_16-1.0.2-1PIGSTY.el10.aarch64.rpm
postgresql-16-omnisketch1.0.2d12.x86_64pigsty26.0 KiBpostgresql-16-omnisketch_1.0.2-1PIGSTY~bookworm_amd64.deb
postgresql-16-omnisketch1.0.2d12.aarch64pigsty26.0 KiBpostgresql-16-omnisketch_1.0.2-1PIGSTY~bookworm_arm64.deb
postgresql-16-omnisketch1.0.2d13.x86_64pigsty26.1 KiBpostgresql-16-omnisketch_1.0.2-1PIGSTY~trixie_amd64.deb
postgresql-16-omnisketch1.0.2d13.aarch64pigsty26.1 KiBpostgresql-16-omnisketch_1.0.2-1PIGSTY~trixie_arm64.deb
postgresql-16-omnisketch1.0.2u22.x86_64pigsty28.8 KiBpostgresql-16-omnisketch_1.0.2-1PIGSTY~jammy_amd64.deb
postgresql-16-omnisketch1.0.2u22.aarch64pigsty28.5 KiBpostgresql-16-omnisketch_1.0.2-1PIGSTY~jammy_arm64.deb
postgresql-16-omnisketch1.0.2u24.x86_64pigsty27.0 KiBpostgresql-16-omnisketch_1.0.2-1PIGSTY~noble_amd64.deb
postgresql-16-omnisketch1.0.2u24.aarch64pigsty27.1 KiBpostgresql-16-omnisketch_1.0.2-1PIGSTY~noble_arm64.deb
PackageVersionOSORGSIZEFile URL
omnisketch_151.0.2el8.x86_64pigsty20.4 KiBomnisketch_15-1.0.2-1PIGSTY.el8.x86_64.rpm
omnisketch_151.0.2el8.aarch64pigsty20.4 KiBomnisketch_15-1.0.2-1PIGSTY.el8.aarch64.rpm
omnisketch_151.0.2el9.x86_64pigsty20.1 KiBomnisketch_15-1.0.2-1PIGSTY.el9.x86_64.rpm
omnisketch_151.0.2el9.aarch64pigsty20.2 KiBomnisketch_15-1.0.2-1PIGSTY.el9.aarch64.rpm
omnisketch_151.0.2el10.x86_64pigsty20.2 KiBomnisketch_15-1.0.2-1PIGSTY.el10.x86_64.rpm
omnisketch_151.0.2el10.aarch64pigsty20.5 KiBomnisketch_15-1.0.2-1PIGSTY.el10.aarch64.rpm
postgresql-15-omnisketch1.0.2d12.x86_64pigsty26.3 KiBpostgresql-15-omnisketch_1.0.2-1PIGSTY~bookworm_amd64.deb
postgresql-15-omnisketch1.0.2d12.aarch64pigsty26.0 KiBpostgresql-15-omnisketch_1.0.2-1PIGSTY~bookworm_arm64.deb
postgresql-15-omnisketch1.0.2d13.x86_64pigsty26.1 KiBpostgresql-15-omnisketch_1.0.2-1PIGSTY~trixie_amd64.deb
postgresql-15-omnisketch1.0.2d13.aarch64pigsty26.1 KiBpostgresql-15-omnisketch_1.0.2-1PIGSTY~trixie_arm64.deb
postgresql-15-omnisketch1.0.2u22.x86_64pigsty28.9 KiBpostgresql-15-omnisketch_1.0.2-1PIGSTY~jammy_amd64.deb
postgresql-15-omnisketch1.0.2u22.aarch64pigsty28.5 KiBpostgresql-15-omnisketch_1.0.2-1PIGSTY~jammy_arm64.deb
postgresql-15-omnisketch1.0.2u24.x86_64pigsty27.0 KiBpostgresql-15-omnisketch_1.0.2-1PIGSTY~noble_amd64.deb
postgresql-15-omnisketch1.0.2u24.aarch64pigsty27.0 KiBpostgresql-15-omnisketch_1.0.2-1PIGSTY~noble_arm64.deb
PackageVersionOSORGSIZEFile URL
omnisketch_141.0.2el8.x86_64pigsty20.4 KiBomnisketch_14-1.0.2-1PIGSTY.el8.x86_64.rpm
omnisketch_141.0.2el8.aarch64pigsty20.3 KiBomnisketch_14-1.0.2-1PIGSTY.el8.aarch64.rpm
omnisketch_141.0.2el9.x86_64pigsty20.1 KiBomnisketch_14-1.0.2-1PIGSTY.el9.x86_64.rpm
omnisketch_141.0.2el9.aarch64pigsty20.2 KiBomnisketch_14-1.0.2-1PIGSTY.el9.aarch64.rpm
omnisketch_141.0.2el10.x86_64pigsty20.2 KiBomnisketch_14-1.0.2-1PIGSTY.el10.x86_64.rpm
omnisketch_141.0.2el10.aarch64pigsty20.5 KiBomnisketch_14-1.0.2-1PIGSTY.el10.aarch64.rpm
postgresql-14-omnisketch1.0.2d12.x86_64pigsty26.0 KiBpostgresql-14-omnisketch_1.0.2-1PIGSTY~bookworm_amd64.deb
postgresql-14-omnisketch1.0.2d12.aarch64pigsty26.0 KiBpostgresql-14-omnisketch_1.0.2-1PIGSTY~bookworm_arm64.deb
postgresql-14-omnisketch1.0.2d13.x86_64pigsty26.2 KiBpostgresql-14-omnisketch_1.0.2-1PIGSTY~trixie_amd64.deb
postgresql-14-omnisketch1.0.2d13.aarch64pigsty26.1 KiBpostgresql-14-omnisketch_1.0.2-1PIGSTY~trixie_arm64.deb
postgresql-14-omnisketch1.0.2u22.x86_64pigsty28.8 KiBpostgresql-14-omnisketch_1.0.2-1PIGSTY~jammy_amd64.deb
postgresql-14-omnisketch1.0.2u22.aarch64pigsty28.6 KiBpostgresql-14-omnisketch_1.0.2-1PIGSTY~jammy_arm64.deb
postgresql-14-omnisketch1.0.2u24.x86_64pigsty27.2 KiBpostgresql-14-omnisketch_1.0.2-1PIGSTY~noble_amd64.deb
postgresql-14-omnisketch1.0.2u24.aarch64pigsty27.0 KiBpostgresql-14-omnisketch_1.0.2-1PIGSTY~noble_arm64.deb

Source

pig build pkg omnisketch;		# 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 omnisketch;		# install via package name, for the active PG version

pig install omnisketch -v 18;   # install for PG 18
pig install omnisketch -v 17;   # install for PG 17
pig install omnisketch -v 16;   # install for PG 16
pig install omnisketch -v 15;   # install for PG 15
pig install omnisketch -v 14;   # install for PG 14

Create this extension with:

CREATE EXTENSION omnisketch;

Usage

omnisketch: OmniSketch data structure for multi-dimensional stream analytics

Implements OmniSketch for on-line aggregation into approximate sketches and answering count queries with arbitrary predicates on multi-dimensional data.

CREATE EXTENSION omnisketch;

Functions

FunctionDescription
omnisketch(epsilon, delta, record)Build a sketch from data with accuracy parameters
omnisketch(sketch)Combine multiple compatible sketches
omnisketch_count(sketch)Return total records added to the sketch
omnisketch_estimate(sketch, record)Estimate count of records matching predicates

Parameters

  • epsilon – accuracy relative to total records, range [0,1] (lower = more accurate, larger sketch)
  • delta – accuracy, range [0,1]

Examples

-- Create sample data
CREATE TABLE data (id INT, a INT, b INT);
INSERT INTO data SELECT i, mod(i,100), mod(i,100) FROM generate_series(1,1000000) s(i);

-- Pre-calculate sketches on partitions
CREATE TABLE sketches AS
SELECT mod(id,10) AS p, omnisketch(0.01, 0.01, (a, b)) AS s
FROM data GROUP BY mod(id,10);

-- Estimate count for condition (a = 10 AND b = 10)
SELECT omnisketch_estimate(omnisketch(s), (10, 10)) FROM sketches;

-- Get total record count
SELECT omnisketch_count(omnisketch(s)) FROM sketches;
Last updated on