Skip to content
pg_isok

pg_isok

pg_isok : Query-based data integrity management and soft alerting for PostgreSQL

Overview

ID Extension Package Version Category License Language
4340
pg_isok
pg_isok
1.4.1
UTIL
AGPL-3.0
SQL
Attribute Has Binary Has Library Need Load Has DDL Relocatable Trusted
----d--
No
No
No
Yes
no
no

superuser=false, but this is not a trusted extension.

Packages

Type Repo Version PG Major Compatibility Package Pattern Dependencies
EXT
PIGSTY
1.4.1
18
17
16
15
14
pg_isok -
RPM
PIGSTY
1.4.1
18
17
16
15
14
pg_isok_$v -
DEB
PIGSTY
1.4.1
18
17
16
15
14
postgresql-$v-pg-isok -
Linux / PG PG18 PG17 PG16 PG15 PG14
el8.x86_64
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
el8.aarch64
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
el9.x86_64
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
el9.aarch64
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
el10.x86_64
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
el10.aarch64
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
d12.x86_64
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
d12.aarch64
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
d13.x86_64
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
d13.aarch64
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
u22.x86_64
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
u22.aarch64
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
u24.x86_64
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
u24.aarch64
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
u26.x86_64
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
u26.aarch64
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
Package Version OS ORG SIZE File URL
pg_isok_18 1.4.1 el8.x86_64 pigsty 63.7 KiB pg_isok_18-1.4.1-1PIGSTY.el8.x86_64.rpm
pg_isok_18 1.4.1 el8.aarch64 pigsty 63.6 KiB pg_isok_18-1.4.1-1PIGSTY.el8.aarch64.rpm
pg_isok_18 1.4.1 el9.x86_64 pigsty 60.6 KiB pg_isok_18-1.4.1-1PIGSTY.el9.x86_64.rpm
pg_isok_18 1.4.1 el9.aarch64 pigsty 60.6 KiB pg_isok_18-1.4.1-1PIGSTY.el9.aarch64.rpm
pg_isok_18 1.4.1 el10.x86_64 pigsty 60.7 KiB pg_isok_18-1.4.1-1PIGSTY.el10.x86_64.rpm
pg_isok_18 1.4.1 el10.aarch64 pigsty 60.7 KiB pg_isok_18-1.4.1-1PIGSTY.el10.aarch64.rpm
postgresql-18-pg-isok 1.4.1 d12.x86_64 pigsty 56.8 KiB postgresql-18-pg-isok_1.4.1-1PIGSTY~bookworm_amd64.deb
postgresql-18-pg-isok 1.4.1 d12.aarch64 pigsty 56.8 KiB postgresql-18-pg-isok_1.4.1-1PIGSTY~bookworm_arm64.deb
postgresql-18-pg-isok 1.4.1 d13.x86_64 pigsty 56.8 KiB postgresql-18-pg-isok_1.4.1-1PIGSTY~trixie_amd64.deb
postgresql-18-pg-isok 1.4.1 d13.aarch64 pigsty 56.8 KiB postgresql-18-pg-isok_1.4.1-1PIGSTY~trixie_arm64.deb
postgresql-18-pg-isok 1.4.1 u22.x86_64 pigsty 57.0 KiB postgresql-18-pg-isok_1.4.1-1PIGSTY~jammy_amd64.deb
postgresql-18-pg-isok 1.4.1 u22.aarch64 pigsty 57.0 KiB postgresql-18-pg-isok_1.4.1-1PIGSTY~jammy_arm64.deb
postgresql-18-pg-isok 1.4.1 u24.x86_64 pigsty 56.9 KiB postgresql-18-pg-isok_1.4.1-1PIGSTY~noble_amd64.deb
postgresql-18-pg-isok 1.4.1 u24.aarch64 pigsty 56.9 KiB postgresql-18-pg-isok_1.4.1-1PIGSTY~noble_arm64.deb
postgresql-18-pg-isok 1.4.1 u26.x86_64 pigsty 56.9 KiB postgresql-18-pg-isok_1.4.1-1PIGSTY~resolute_amd64.deb
postgresql-18-pg-isok 1.4.1 u26.aarch64 pigsty 56.9 KiB postgresql-18-pg-isok_1.4.1-1PIGSTY~resolute_arm64.deb

Source

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

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

Create this extension with:

CREATE EXTENSION pg_isok;

Usage

Sources: official repo, official docs home, official reference source

pg_isok is a query-based data integrity and monitoring extension. Instead of only reporting rows that currently look questionable, it stores prior results and focuses later runs on unresolved or undeferred changes.

CREATE SCHEMA isok;
CREATE EXTENSION pg_isok SCHEMA isok;

SELECT *
FROM isok.run_isok_queries()
AS problems;

Core Objects

  • ISOK_QUERIES stores the monitoring queries and their execution settings.
  • ISOK_RESULTS stores the reported rows, including whether they were resolved or deferred.
  • run_isok_queries() runs every active check.
  • run_isok_queries($$VALUES ('check_name')$$) runs only selected checks.

Typical Workflow

Run one named check:

SELECT *
FROM isok.run_isok_queries($$VALUES ('new_countries')$$)
AS problems;

Accept or postpone a known warning by updating ISOK_RESULTS:

UPDATE isok.isok_results
SET deferred_to = 'infinity'
WHERE iqname = 'new_countries';

Use resolved when the condition is no longer a concern, or deferred_to when it should stay hidden until a later date.

Where It Fits

  • data cleanup after imports
  • monitoring unusual but sometimes acceptable patterns
  • “soft trigger” style review workflows where hard constraints are too strict

Caveats

  • Upstream recommends installing it in a dedicated schema and qualifying calls accordingly.
  • The docs describe it as pure SQL, which is useful on managed PostgreSQL services where C extensions may be restricted.
  • The package metadata in this repo says superuser=false, but this is not documented upstream as a trusted extension; treat installation privileges conservatively.
Last updated on