provsql 1.4.0

This Release
provsql 1.4.0
Date
Status
Stable
Other Releases
Abstract
Semiring provenance and probability management for PostgreSQL
Description
ProvSQL is a PostgreSQL extension that adds (m-)semiring provenance and uncertainty management. It transparently rewrites SQL queries to track how each result depends on input tuples, then evaluates the provenance in any user-chosen semiring -- Boolean reachability, counting, probability, Shapley values, where-provenance, data-modification tracking, and more. The source is split between sql/provsql.common.sql (the primary file, shown in the Source view on this page, for all supported PostgreSQL versions) and sql/provsql.14.sql (additional objects requiring PostgreSQL 14 or later: data-modification tracking and temporal validity ranges). The full source is always available from the linked repository.
Released By
PierreSenellart
License
MIT
Resources
Special Files
Tags

Extensions

provsql 1.4.0
Semiring provenance and probability management for PostgreSQL

Documentation

README
ProvSQL TODO
CHANGELOG
Changelog
CHANGELOG
Changelog
feature-coverage
ProvSQL Feature Coverage
TODO
Coordinated release: ProvSQL 1.4.0 + Studio 1.0.0
index
ProvSQL Studio
CODE_OF_CONDUCT
Code of Conduct
README
ProvSQL Studio
CONTRIBUTING
Contributing to ProvSQL
SECURITY
Security Policy
studio
Studio: features and integration before / after v1.0
case-studies
Documentation TODO: case-study coverage

README

ProvSQL

Build Status Build Status Build Status Studio Status

DOI Archived in Software Heritage Docker Image Version

ProvSQL adds (m-)semiring provenance and uncertainty management to PostgreSQL, enabling computation of probabilities, Shapley values, and various semiring evaluations, as a PostgreSQL extension.

Website: https://provsql.org/ – Documentation: https://provsql.org/docs/

Quick Install

Prerequisites: PostgreSQL ≥ 10, a C++17 compiler, PostgreSQL development headers, uuid-ossp, and the Boost libraries (libboost-dev, libboost-serialization-dev).

make
make install   # as a user with write access to the PostgreSQL directories

Add to postgresql.conf and restart PostgreSQL:

shared_preload_libraries = 'provsql'

Then in each database:

CREATE EXTENSION provsql CASCADE;

See the full installation guide for prerequisites, optional dependencies, testing, and Docker instructions.

Studio

ProvSQL Studio is a separate Python package that adds a web UI on top of the extension: a Circuit mode that renders the provenance DAG behind any result UUID, with frontier expansion, an inspector, and on-the-fly semiring evaluation; and a Where mode that hover-highlights the source cells of each output value.

pip install provsql-studio
provsql-studio --dsn postgresql://localhost/mydb

See the Studio chapter of the documentation.

License

ProvSQL is provided as open-source software under the MIT License. See LICENSE.

Contact

https://github.com/PierreSenellart/provsql

Pierre Senellart pierre@senellart.com

Bug reports and feature requests are preferably sent through the Issues feature of GitHub.