istore
Overview
| ID | Extension | Bin | Lib | Load | Create | Trust | Reloc | Schema |
|---|---|---|---|---|---|---|---|---|
| 3710 | istore | No | Yes | No | Yes | No | Yes | - |
| Related | hstore collection intarray aggs_for_arrays |
|---|
PGXN 0.1.12 source requires the PG16+ varatt/Datum compatibility patch. PostgreSQL 14-18 verified across all 16 PGSTY target platforms. Does not require hstore.
Version
| Type | Repo | Version | PG Ver | Package | Deps |
|---|---|---|---|---|---|
| EXT | PIGSTY | 0.1.12 | 1817161514 | istore | - |
| RPM | PIGSTY | 0.1.12 | 1817161514 | istore_$v | - |
| DEB | PIGSTY | 0.1.12 | 1817161514 | postgresql-$v-istore | - |
| OS / PG | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|
| el8.x86_64 | PIGSTY 0.1.12 el8.x86_64.pg18 : istore_18 istore_18-0.1.12-1PGSTY.el8.x86_64.rpm
| PIGSTY 0.1.12 el8.x86_64.pg17 : istore_17 istore_17-0.1.12-1PGSTY.el8.x86_64.rpm
| PIGSTY 0.1.12 el8.x86_64.pg16 : istore_16 istore_16-0.1.12-1PGSTY.el8.x86_64.rpm
| PIGSTY 0.1.12 el8.x86_64.pg15 : istore_15 istore_15-0.1.12-1PGSTY.el8.x86_64.rpm
| PIGSTY 0.1.12 el8.x86_64.pg14 : istore_14 istore_14-0.1.12-1PGSTY.el8.x86_64.rpm
|
| el8.aarch64 | PIGSTY 0.1.12 el8.aarch64.pg18 : istore_18 istore_18-0.1.12-1PGSTY.el8.aarch64.rpm
| PIGSTY 0.1.12 el8.aarch64.pg17 : istore_17 istore_17-0.1.12-1PGSTY.el8.aarch64.rpm
| PIGSTY 0.1.12 el8.aarch64.pg16 : istore_16 istore_16-0.1.12-1PGSTY.el8.aarch64.rpm
| PIGSTY 0.1.12 el8.aarch64.pg15 : istore_15 istore_15-0.1.12-1PGSTY.el8.aarch64.rpm
| PIGSTY 0.1.12 el8.aarch64.pg14 : istore_14 istore_14-0.1.12-1PGSTY.el8.aarch64.rpm
|
| el9.x86_64 | PIGSTY 0.1.12 el9.x86_64.pg18 : istore_18 istore_18-0.1.12-1PGSTY.el9.x86_64.rpm
| PIGSTY 0.1.12 el9.x86_64.pg17 : istore_17 istore_17-0.1.12-1PGSTY.el9.x86_64.rpm
| PIGSTY 0.1.12 el9.x86_64.pg16 : istore_16 istore_16-0.1.12-1PGSTY.el9.x86_64.rpm
| PIGSTY 0.1.12 el9.x86_64.pg15 : istore_15 istore_15-0.1.12-1PGSTY.el9.x86_64.rpm
| PIGSTY 0.1.12 el9.x86_64.pg14 : istore_14 istore_14-0.1.12-1PGSTY.el9.x86_64.rpm
|
| el9.aarch64 | PIGSTY 0.1.12 el9.aarch64.pg18 : istore_18 istore_18-0.1.12-1PGSTY.el9.aarch64.rpm
| PIGSTY 0.1.12 el9.aarch64.pg17 : istore_17 istore_17-0.1.12-1PGSTY.el9.aarch64.rpm
| PIGSTY 0.1.12 el9.aarch64.pg16 : istore_16 istore_16-0.1.12-1PGSTY.el9.aarch64.rpm
| PIGSTY 0.1.12 el9.aarch64.pg15 : istore_15 istore_15-0.1.12-1PGSTY.el9.aarch64.rpm
| PIGSTY 0.1.12 el9.aarch64.pg14 : istore_14 istore_14-0.1.12-1PGSTY.el9.aarch64.rpm
|
| el10.x86_64 | PIGSTY 0.1.12 el10.x86_64.pg18 : istore_18 istore_18-0.1.12-1PGSTY.el10.x86_64.rpm
| PIGSTY 0.1.12 el10.x86_64.pg17 : istore_17 istore_17-0.1.12-1PGSTY.el10.x86_64.rpm
| PIGSTY 0.1.12 el10.x86_64.pg16 : istore_16 istore_16-0.1.12-1PGSTY.el10.x86_64.rpm
| PIGSTY 0.1.12 el10.x86_64.pg15 : istore_15 istore_15-0.1.12-1PGSTY.el10.x86_64.rpm
| PIGSTY 0.1.12 el10.x86_64.pg14 : istore_14 istore_14-0.1.12-1PGSTY.el10.x86_64.rpm
|
| el10.aarch64 | PIGSTY 0.1.12 el10.aarch64.pg18 : istore_18 istore_18-0.1.12-1PGSTY.el10.aarch64.rpm
| PIGSTY 0.1.12 el10.aarch64.pg17 : istore_17 istore_17-0.1.12-1PGSTY.el10.aarch64.rpm
| PIGSTY 0.1.12 el10.aarch64.pg16 : istore_16 istore_16-0.1.12-1PGSTY.el10.aarch64.rpm
| PIGSTY 0.1.12 el10.aarch64.pg15 : istore_15 istore_15-0.1.12-1PGSTY.el10.aarch64.rpm
| PIGSTY 0.1.12 el10.aarch64.pg14 : istore_14 istore_14-0.1.12-1PGSTY.el10.aarch64.rpm
|
| d12.x86_64 | PIGSTY 0.1.12 d12.x86_64.pg18 : postgresql-18-istore postgresql-18-istore_0.1.12-1PGSTY~bookworm_amd64.deb
| PIGSTY 0.1.12 d12.x86_64.pg17 : postgresql-17-istore postgresql-17-istore_0.1.12-1PGSTY~bookworm_amd64.deb
| PIGSTY 0.1.12 d12.x86_64.pg16 : postgresql-16-istore postgresql-16-istore_0.1.12-1PGSTY~bookworm_amd64.deb
| PIGSTY 0.1.12 d12.x86_64.pg15 : postgresql-15-istore postgresql-15-istore_0.1.12-1PGSTY~bookworm_amd64.deb
| PIGSTY 0.1.12 d12.x86_64.pg14 : postgresql-14-istore postgresql-14-istore_0.1.12-1PGSTY~bookworm_amd64.deb
|
| d12.aarch64 | PIGSTY 0.1.12 d12.aarch64.pg18 : postgresql-18-istore postgresql-18-istore_0.1.12-1PGSTY~bookworm_arm64.deb
| PIGSTY 0.1.12 d12.aarch64.pg17 : postgresql-17-istore postgresql-17-istore_0.1.12-1PGSTY~bookworm_arm64.deb
| PIGSTY 0.1.12 d12.aarch64.pg16 : postgresql-16-istore postgresql-16-istore_0.1.12-1PGSTY~bookworm_arm64.deb
| PIGSTY 0.1.12 d12.aarch64.pg15 : postgresql-15-istore postgresql-15-istore_0.1.12-1PGSTY~bookworm_arm64.deb
| PIGSTY 0.1.12 d12.aarch64.pg14 : postgresql-14-istore postgresql-14-istore_0.1.12-1PGSTY~bookworm_arm64.deb
|
| d13.x86_64 | PIGSTY 0.1.12 d13.x86_64.pg18 : postgresql-18-istore postgresql-18-istore_0.1.12-1PGSTY~trixie_amd64.deb
| PIGSTY 0.1.12 d13.x86_64.pg17 : postgresql-17-istore postgresql-17-istore_0.1.12-1PGSTY~trixie_amd64.deb
| PIGSTY 0.1.12 d13.x86_64.pg16 : postgresql-16-istore postgresql-16-istore_0.1.12-1PGSTY~trixie_amd64.deb
| PIGSTY 0.1.12 d13.x86_64.pg15 : postgresql-15-istore postgresql-15-istore_0.1.12-1PGSTY~trixie_amd64.deb
| PIGSTY 0.1.12 d13.x86_64.pg14 : postgresql-14-istore postgresql-14-istore_0.1.12-1PGSTY~trixie_amd64.deb
|
| d13.aarch64 | PIGSTY 0.1.12 d13.aarch64.pg18 : postgresql-18-istore postgresql-18-istore_0.1.12-1PGSTY~trixie_arm64.deb
| PIGSTY 0.1.12 d13.aarch64.pg17 : postgresql-17-istore postgresql-17-istore_0.1.12-1PGSTY~trixie_arm64.deb
| PIGSTY 0.1.12 d13.aarch64.pg16 : postgresql-16-istore postgresql-16-istore_0.1.12-1PGSTY~trixie_arm64.deb
| PIGSTY 0.1.12 d13.aarch64.pg15 : postgresql-15-istore postgresql-15-istore_0.1.12-1PGSTY~trixie_arm64.deb
| PIGSTY 0.1.12 d13.aarch64.pg14 : postgresql-14-istore postgresql-14-istore_0.1.12-1PGSTY~trixie_arm64.deb
|
| u22.x86_64 | PIGSTY 0.1.12 u22.x86_64.pg18 : postgresql-18-istore postgresql-18-istore_0.1.12-1PGSTY~jammy_amd64.deb
| PIGSTY 0.1.12 u22.x86_64.pg17 : postgresql-17-istore postgresql-17-istore_0.1.12-1PGSTY~jammy_amd64.deb
| PIGSTY 0.1.12 u22.x86_64.pg16 : postgresql-16-istore postgresql-16-istore_0.1.12-1PGSTY~jammy_amd64.deb
| PIGSTY 0.1.12 u22.x86_64.pg15 : postgresql-15-istore postgresql-15-istore_0.1.12-1PGSTY~jammy_amd64.deb
| PIGSTY 0.1.12 u22.x86_64.pg14 : postgresql-14-istore postgresql-14-istore_0.1.12-1PGSTY~jammy_amd64.deb
|
| u22.aarch64 | PIGSTY 0.1.12 u22.aarch64.pg18 : postgresql-18-istore postgresql-18-istore_0.1.12-1PGSTY~jammy_arm64.deb
| PIGSTY 0.1.12 u22.aarch64.pg17 : postgresql-17-istore postgresql-17-istore_0.1.12-1PGSTY~jammy_arm64.deb
| PIGSTY 0.1.12 u22.aarch64.pg16 : postgresql-16-istore postgresql-16-istore_0.1.12-1PGSTY~jammy_arm64.deb
| PIGSTY 0.1.12 u22.aarch64.pg15 : postgresql-15-istore postgresql-15-istore_0.1.12-1PGSTY~jammy_arm64.deb
| PIGSTY 0.1.12 u22.aarch64.pg14 : postgresql-14-istore postgresql-14-istore_0.1.12-1PGSTY~jammy_arm64.deb
|
| u24.x86_64 | PIGSTY 0.1.12 u24.x86_64.pg18 : postgresql-18-istore postgresql-18-istore_0.1.12-1PGSTY~noble_amd64.deb
| PIGSTY 0.1.12 u24.x86_64.pg17 : postgresql-17-istore postgresql-17-istore_0.1.12-1PGSTY~noble_amd64.deb
| PIGSTY 0.1.12 u24.x86_64.pg16 : postgresql-16-istore postgresql-16-istore_0.1.12-1PGSTY~noble_amd64.deb
| PIGSTY 0.1.12 u24.x86_64.pg15 : postgresql-15-istore postgresql-15-istore_0.1.12-1PGSTY~noble_amd64.deb
| PIGSTY 0.1.12 u24.x86_64.pg14 : postgresql-14-istore postgresql-14-istore_0.1.12-1PGSTY~noble_amd64.deb
|
| u24.aarch64 | PIGSTY 0.1.12 u24.aarch64.pg18 : postgresql-18-istore postgresql-18-istore_0.1.12-1PGSTY~noble_arm64.deb
| PIGSTY 0.1.12 u24.aarch64.pg17 : postgresql-17-istore postgresql-17-istore_0.1.12-1PGSTY~noble_arm64.deb
| PIGSTY 0.1.12 u24.aarch64.pg16 : postgresql-16-istore postgresql-16-istore_0.1.12-1PGSTY~noble_arm64.deb
| PIGSTY 0.1.12 u24.aarch64.pg15 : postgresql-15-istore postgresql-15-istore_0.1.12-1PGSTY~noble_arm64.deb
| PIGSTY 0.1.12 u24.aarch64.pg14 : postgresql-14-istore postgresql-14-istore_0.1.12-1PGSTY~noble_arm64.deb
|
| u26.x86_64 | PIGSTY 0.1.12 u26.x86_64.pg18 : postgresql-18-istore postgresql-18-istore_0.1.12-1PGSTY~resolute_amd64.deb
| PIGSTY 0.1.12 u26.x86_64.pg17 : postgresql-17-istore postgresql-17-istore_0.1.12-1PGSTY~resolute_amd64.deb
| PIGSTY 0.1.12 u26.x86_64.pg16 : postgresql-16-istore postgresql-16-istore_0.1.12-1PGSTY~resolute_amd64.deb
| PIGSTY 0.1.12 u26.x86_64.pg15 : postgresql-15-istore postgresql-15-istore_0.1.12-1PGSTY~resolute_amd64.deb
| PIGSTY 0.1.12 u26.x86_64.pg14 : postgresql-14-istore postgresql-14-istore_0.1.12-1PGSTY~resolute_amd64.deb
|
| u26.aarch64 | PIGSTY 0.1.12 u26.aarch64.pg18 : postgresql-18-istore postgresql-18-istore_0.1.12-1PGSTY~resolute_arm64.deb
| PIGSTY 0.1.12 u26.aarch64.pg17 : postgresql-17-istore postgresql-17-istore_0.1.12-1PGSTY~resolute_arm64.deb
| PIGSTY 0.1.12 u26.aarch64.pg16 : postgresql-16-istore postgresql-16-istore_0.1.12-1PGSTY~resolute_arm64.deb
| PIGSTY 0.1.12 u26.aarch64.pg15 : postgresql-15-istore postgresql-15-istore_0.1.12-1PGSTY~resolute_arm64.deb
| PIGSTY 0.1.12 u26.aarch64.pg14 : postgresql-14-istore postgresql-14-istore_0.1.12-1PGSTY~resolute_arm64.deb
|
Build
You can build the RPM / DEB packages for istore using pig build:
Install
You can install istore directly. First, make sure the PGDG and PIGSTY repositories are added and enabled:
Install the extension using pig or apt/yum/dnf:
Create Extension:
Usage
Sources:
istore provides compact integer-key maps for PostgreSQL. The istore type stores integer values, while bigistore stores bigint values; both are useful for sparse counters, distributions, and analytical aggregates keyed by integer identifiers.
Core Workflow
Text input resembles hstore, and array constructors can aggregate repeated keys:
Key lookup uses ->; ?, ?&, and ?| test key presence. || concatenates stores, while arithmetic operators combine matching keys. The istore_key_ops GIN operator class accelerates key-existence predicates.
Important Objects and Caveats
Constructors and transforms include istore(...), bigistore(...), akeys, avals, each, slice, compact, fill_gaps, accumulate, clamp, and delete helpers. sum_up summarizes values, and aggregate SUM returns bigistore so that totals have a wider value type. Per-key minimum and maximum aggregates are also provided.
The cast from istore to bigistore is implicit; narrowing assignments can overflow. Arithmetic and division still require application-level checks for overflow and zero divisors. Large values can be TOASTed, and GIN indexes add write and maintenance cost, so benchmark the actual distribution and update workload instead of treating upstream examples as performance guarantees.
Was this page helpful?
Thanks—your feedback helps us improve this page.
What got in the way? (optional)