# Isok -- Query Based Data Integrity Management for PostgreSQL

Discover problematic data patterns, track them, and manage them, by reporting not only the existence of particular data patterns, but also by tracking changes to patterns of data and managing issue resolution. When configured to accept some questionable rows but not others of the same kind, Isok acts like a "soft trigger".

Useful for "zero code required" batch-based data validation. Most useful when review is required to determine whether a questionable data pattern should be allowed to remain in a database.

## Table Of Contents

- The Full Documentation
- Why Isok
- How Isok Works
- Requirements
- Download & Install
- Support
- The Source Repository

## The Full Documentation

1. Un-paginated HTML
2. Paginated HTML
3. PDF - US Letter paper
4. PDF - A4 paper
5. Plain text
6. The FAQs

Installation keeps a record of the Isok version and the build options used to construct it. See the above documentation.

## Why Isok

Lots of reasons.

Isok can help you manage your data's integrity, especially when little technical effort can be spared or manual review is involved.

Isok may be for you if you are involved in data cleanup, or data integrity maintenance, or don't want to put your data monitoring into an app or otherwise design something, or are tired of re-examining the "problems" your queries report that you have determined are not really problems.

Isok makes practical the monitoring and management of unusual, but sometimes allowed, data patterns. And it assists with the management of problem resolution over time.

## How Isok Works

Isok is a PostgreSQL extension for monitoring anything that can be reported with an SQL query. Unlike simply running a query, which reports the existence of questionable data patterns, Isok produces reports alerting you of changes to questionable data patterns, so that only new problems need be reviewed.

To use Isok you write SQL queries, which produce reports alerting you of questionable data patterns. Then, on a row by row basis, you can defer, possibly forever, the appearance of individual alerts on future reports. Isok includes record-keeping and scheduling features to assist with problem resolution.

## Requirements

Isok installs on PostgreSQL version 10 or later, although PostgreSQL versions no longer supported by The PostgreSQL Global Development Group may only get limited support.

Isok can be built as pure SQL, for installation in the cloud or other managed PostgreSQL instances.

## Download & Install

The recommended download is from the pg_isok page at PGXN.org. (Look for , a little green circle with a down-pointing arrow, in the upper-right area of the page.)

To install, unzip the download, `cd` into the directory produced, and run, as root:

> `make install`

Then, use `CREATE EXTENSION`, as follows, to install Isok in the database of your choice:

> `CREATE SCHEMA isok;
> CREATE EXTENSION pg_isok SCHEMA isok;`

It is possible, but not recommended, to build from source.

There are detailed installation instructions.

## Support

Issues can be filed with Codeberg.

## The Source Repository

The source code repository is separate from documentation repository. You are currently looking at the part of the "Codeberg Pages" repository holding the Isok documentation.