provsql

Semiring provenance and uncertainty management for PostgreSQL

Overview

PackageVersionCategoryLicenseLanguage
provsql1.2.3FEATMITC++
IDExtensionBinLibLoadCreateTrustRelocSchema
2900provsqlNoYesYesYesYesNo-
Relateduuid-ossp

Version

TypeRepoVersionPG VerPackageDeps
EXTPIGSTY1.2.31817161514provsqluuid-ossp
RPMPIGSTY1.2.31817161514provsql_$v-
DEBPIGSTY1.2.31817161514postgresql-$v-provsql-
OS / PGPG18PG17PG16PG15PG14
el8.x86_64
el8.aarch64
el9.x86_64
el9.aarch64
el10.x86_64
el10.aarch64
d12.x86_64
d12.aarch64
d13.x86_64
d13.aarch64
u22.x86_64
u22.aarch64
PIGSTY 1.2.3
PIGSTY 1.2.3
PIGSTY 1.2.3
PIGSTY 1.2.3
PIGSTY 1.2.3
u24.x86_64
u24.aarch64
PIGSTY 1.2.3
PIGSTY 1.2.3
PIGSTY 1.2.3
PIGSTY 1.2.3
PIGSTY 1.2.3

Build

You can build the RPM / DEB packages for provsql using pig build:

pig build pkg provsql         # build RPM / DEB packages

Install

You can install provsql directly. First, make sure the PGDG and PIGSTY repositories are added and enabled:

pig repo add pgsql -u          # Add repo and update cache

Install the extension using pig or apt/yum/dnf:

pig install provsql;          # Install for current active PG version
pig ext install -y provsql -v 18  # PG 18
pig ext install -y provsql -v 17  # PG 17
pig ext install -y provsql -v 16  # PG 16
pig ext install -y provsql -v 15  # PG 15
pig ext install -y provsql -v 14  # PG 14
dnf install -y provsql_18       # PG 18
dnf install -y provsql_17       # PG 17
dnf install -y provsql_16       # PG 16
dnf install -y provsql_15       # PG 15
dnf install -y provsql_14       # PG 14
apt install -y postgresql-18-provsql   # PG 18
apt install -y postgresql-17-provsql   # PG 17
apt install -y postgresql-16-provsql   # PG 16
apt install -y postgresql-15-provsql   # PG 15
apt install -y postgresql-14-provsql   # PG 14

Preload:

shared_preload_libraries = 'provsql';

Create Extension:

CREATE EXTENSION provsql CASCADE;  -- requires: uuid-ossp

Usage

shared_preload_libraries = 'provsql'
CREATE EXTENSION provsql CASCADE;

The upstream quick install also calls out these prerequisites: PostgreSQL 10 or later, a C++17 compiler, PostgreSQL headers, uuid-ossp, and Boost libraries.

Core Workflow

ProvSQL is loaded through shared_preload_libraries, then installed with CREATE EXTENSION provsql CASCADE;.

Typical use cases include:

  • evaluating provenance over different semirings
  • computing probabilities and expected values
  • computing game-theoretic contributions such as Shapley values
  • using the built-in compiled semirings for common cases

Notes

The project homepage and documentation live at provsql.org. The README links to the user guide for the full installation and testing workflow.


Last Modified 2026-04-14: update extension catalog (29617e5)