pg_qualstats

pg_qualstats

pg_qualstats : An extension collecting statistics about quals

Overview

ID Extension Package Version Category License Language
6240
pg_qualstats
pg_qualstats
2.1.3
STAT
BSD 3-Clause
C
Attribute Has Binary Has Library Need Load Has DDL Relocatable Trusted
--sLd--
No
Yes
Yes
Yes
no
no
Relationships
See Also
hypopg
pg_stat_kcache
powa
pg_stat_statements
index_advisor
pre_prepare
pg_show_plans
pg_stat_monitor

Packages

Type Repo Version PG Major Compatibility Package Pattern Dependencies
EXT
PGDG
2.1.3
18
17
16
15
14
pg_qualstats -
RPM
PGDG
2.1.2
18
17
16
15
14
pg_qualstats_$v -
DEB
PGDG
2.1.3
18
17
16
15
14
postgresql-$v-pg-qualstats -
Linux / PG PG18 PG17 PG16 PG15 PG14
el8.x86_64
PGDG 2.1.2
PGDG 2.1.1
PGDG 2.1.1
PGDG 2.1.1
PGDG 2.1.1
el8.aarch64
PGDG 2.1.2
PGDG 2.1.1
PGDG 2.1.1
PGDG 2.1.1
PGDG 2.1.1
el9.x86_64
PGDG 2.1.2
PGDG 2.1.1
PGDG 2.1.1
PGDG 2.1.1
PGDG 2.1.1
el9.aarch64
PGDG 2.1.2
PGDG 2.1.1
PGDG 2.1.1
PGDG 2.1.1
PGDG 2.1.1
el10.x86_64
PGDG 2.1.2
PGDG 2.1.1
PGDG 2.1.1
PGDG 2.1.1
PGDG 2.1.1
el10.aarch64
PGDG 2.1.2
PGDG 2.1.1
PGDG 2.1.1
PGDG 2.1.1
PGDG 2.1.1
d12.x86_64
PGDG 2.1.3
PGDG 2.1.3
PGDG 2.1.3
PGDG 2.1.3
PGDG 2.1.3
d12.aarch64
PGDG 2.1.3
PGDG 2.1.3
PGDG 2.1.3
PGDG 2.1.3
PGDG 2.1.3
d13.x86_64
PGDG 2.1.3
PGDG 2.1.3
PGDG 2.1.3
PGDG 2.1.3
PGDG 2.1.3
d13.aarch64
PGDG 2.1.3
PGDG 2.1.3
PGDG 2.1.3
PGDG 2.1.3
PGDG 2.1.3
u22.x86_64
PGDG 2.1.3
PGDG 2.1.3
PGDG 2.1.3
PGDG 2.1.3
PGDG 2.1.3
u22.aarch64
PGDG 2.1.3
PGDG 2.1.3
PGDG 2.1.3
PGDG 2.1.3
PGDG 2.1.3
u24.x86_64
PGDG 2.1.3
PGDG 2.1.3
PGDG 2.1.3
PGDG 2.1.3
PGDG 2.1.3
u24.aarch64
PGDG 2.1.3
PGDG 2.1.3
PGDG 2.1.3
PGDG 2.1.3
PGDG 2.1.3
Package Version OS ORG SIZE File URL
pg_qualstats_18 2.1.2 el8.x86_64 pgdg 38.0 KiB pg_qualstats_18-2.1.2-1PGDG.rhel8.x86_64.rpm
pg_qualstats_18 2.1.2 el8.aarch64 pgdg 37.1 KiB pg_qualstats_18-2.1.2-1PGDG.rhel8.aarch64.rpm
pg_qualstats_18 2.1.2 el9.x86_64 pgdg 36.4 KiB pg_qualstats_18-2.1.2-1PGDG.rhel9.x86_64.rpm
pg_qualstats_18 2.1.2 el9.aarch64 pgdg 35.7 KiB pg_qualstats_18-2.1.2-1PGDG.rhel9.aarch64.rpm
pg_qualstats_18 2.1.2 el10.x86_64 pgdg 36.8 KiB pg_qualstats_18-2.1.2-1PGDG.rhel10.x86_64.rpm
pg_qualstats_18 2.1.2 el10.aarch64 pgdg 36.5 KiB pg_qualstats_18-2.1.2-1PGDG.rhel10.aarch64.rpm
postgresql-18-pg-qualstats 2.1.3 d12.x86_64 pgdg 56.7 KiB postgresql-18-pg-qualstats_2.1.3-1.pgdg12+1_amd64.deb
postgresql-18-pg-qualstats 2.1.3 d12.aarch64 pgdg 55.6 KiB postgresql-18-pg-qualstats_2.1.3-1.pgdg12+1_arm64.deb
postgresql-18-pg-qualstats 2.1.3 d13.x86_64 pgdg 56.6 KiB postgresql-18-pg-qualstats_2.1.3-1.pgdg13+1_amd64.deb
postgresql-18-pg-qualstats 2.1.3 d13.aarch64 pgdg 55.9 KiB postgresql-18-pg-qualstats_2.1.3-1.pgdg13+1_arm64.deb
postgresql-18-pg-qualstats 2.1.3 u22.x86_64 pgdg 56.4 KiB postgresql-18-pg-qualstats_2.1.3-1.pgdg22.04+1_amd64.deb
postgresql-18-pg-qualstats 2.1.3 u22.aarch64 pgdg 54.8 KiB postgresql-18-pg-qualstats_2.1.3-1.pgdg22.04+1_arm64.deb
postgresql-18-pg-qualstats 2.1.3 u24.x86_64 pgdg 54.1 KiB postgresql-18-pg-qualstats_2.1.3-1.pgdg24.04+1_amd64.deb
postgresql-18-pg-qualstats 2.1.3 u24.aarch64 pgdg 53.1 KiB postgresql-18-pg-qualstats_2.1.3-1.pgdg24.04+1_arm64.deb
Package Version OS ORG SIZE File URL
pg_qualstats_17 2.1.1 el8.x86_64 pgdg 37.6 KiB pg_qualstats_17-2.1.1-1PGDG.rhel8.x86_64.rpm
pg_qualstats_17 2.1.1 el8.aarch64 pgdg 36.7 KiB pg_qualstats_17-2.1.1-1PGDG.rhel8.aarch64.rpm
pg_qualstats_17 2.1.1 el9.x86_64 pgdg 36.2 KiB pg_qualstats_17-2.1.1-1PGDG.rhel9.x86_64.rpm
pg_qualstats_17 2.1.1 el9.aarch64 pgdg 35.5 KiB pg_qualstats_17-2.1.1-1PGDG.rhel9.aarch64.rpm
pg_qualstats_17 2.1.1 el10.x86_64 pgdg 36.5 KiB pg_qualstats_17-2.1.1-2PGDG.rhel10.x86_64.rpm
pg_qualstats_17 2.1.1 el10.aarch64 pgdg 36.2 KiB pg_qualstats_17-2.1.1-2PGDG.rhel10.aarch64.rpm
postgresql-17-pg-qualstats 2.1.3 d12.x86_64 pgdg 56.8 KiB postgresql-17-pg-qualstats_2.1.3-1.pgdg12+1_amd64.deb
postgresql-17-pg-qualstats 2.1.3 d12.aarch64 pgdg 55.7 KiB postgresql-17-pg-qualstats_2.1.3-1.pgdg12+1_arm64.deb
postgresql-17-pg-qualstats 2.1.3 d13.x86_64 pgdg 56.7 KiB postgresql-17-pg-qualstats_2.1.3-1.pgdg13+1_amd64.deb
postgresql-17-pg-qualstats 2.1.3 d13.aarch64 pgdg 56.1 KiB postgresql-17-pg-qualstats_2.1.3-1.pgdg13+1_arm64.deb
postgresql-17-pg-qualstats 2.1.3 u22.x86_64 pgdg 60.6 KiB postgresql-17-pg-qualstats_2.1.3-1.pgdg22.04+1_amd64.deb
postgresql-17-pg-qualstats 2.1.3 u22.aarch64 pgdg 58.9 KiB postgresql-17-pg-qualstats_2.1.3-1.pgdg22.04+1_arm64.deb
postgresql-17-pg-qualstats 2.1.3 u24.x86_64 pgdg 54.3 KiB postgresql-17-pg-qualstats_2.1.3-1.pgdg24.04+1_amd64.deb
postgresql-17-pg-qualstats 2.1.3 u24.aarch64 pgdg 53.3 KiB postgresql-17-pg-qualstats_2.1.3-1.pgdg24.04+1_arm64.deb
Package Version OS ORG SIZE File URL
pg_qualstats_16 2.1.1 el8.x86_64 pgdg 37.6 KiB pg_qualstats_16-2.1.1-1PGDG.rhel8.x86_64.rpm
pg_qualstats_16 2.1.0 el8.x86_64 pgdg 36.9 KiB pg_qualstats_16-2.1.0-1PGDG.rhel8.x86_64.rpm
pg_qualstats_16 2.0.4 el8.x86_64 pgdg 35.5 KiB pg_qualstats_16-2.0.4-3PGDG.rhel8.x86_64.rpm
pg_qualstats_16 2.1.1 el8.aarch64 pgdg 36.7 KiB pg_qualstats_16-2.1.1-1PGDG.rhel8.aarch64.rpm
pg_qualstats_16 2.1.0 el8.aarch64 pgdg 36.0 KiB pg_qualstats_16-2.1.0-1PGDG.rhel8.aarch64.rpm
pg_qualstats_16 2.0.4 el8.aarch64 pgdg 34.7 KiB pg_qualstats_16-2.0.4-3PGDG.rhel8.aarch64.rpm
pg_qualstats_16 2.1.1 el9.x86_64 pgdg 36.1 KiB pg_qualstats_16-2.1.1-1PGDG.rhel9.x86_64.rpm
pg_qualstats_16 2.1.0 el9.x86_64 pgdg 35.3 KiB pg_qualstats_16-2.1.0-1PGDG.rhel9.x86_64.rpm
pg_qualstats_16 2.0.4 el9.x86_64 pgdg 34.2 KiB pg_qualstats_16-2.0.4-3PGDG.rhel9.x86_64.rpm
pg_qualstats_16 2.1.1 el9.aarch64 pgdg 35.6 KiB pg_qualstats_16-2.1.1-1PGDG.rhel9.aarch64.rpm
pg_qualstats_16 2.1.0 el9.aarch64 pgdg 34.7 KiB pg_qualstats_16-2.1.0-1PGDG.rhel9.aarch64.rpm
pg_qualstats_16 2.0.4 el9.aarch64 pgdg 33.4 KiB pg_qualstats_16-2.0.4-3PGDG.rhel9.aarch64.rpm
pg_qualstats_16 2.1.1 el10.x86_64 pgdg 36.6 KiB pg_qualstats_16-2.1.1-2PGDG.rhel10.x86_64.rpm
pg_qualstats_16 2.1.1 el10.aarch64 pgdg 36.2 KiB pg_qualstats_16-2.1.1-2PGDG.rhel10.aarch64.rpm
postgresql-16-pg-qualstats 2.1.3 d12.x86_64 pgdg 56.8 KiB postgresql-16-pg-qualstats_2.1.3-1.pgdg12+1_amd64.deb
postgresql-16-pg-qualstats 2.1.3 d12.aarch64 pgdg 55.8 KiB postgresql-16-pg-qualstats_2.1.3-1.pgdg12+1_arm64.deb
postgresql-16-pg-qualstats 2.1.3 d13.x86_64 pgdg 56.7 KiB postgresql-16-pg-qualstats_2.1.3-1.pgdg13+1_amd64.deb
postgresql-16-pg-qualstats 2.1.3 d13.aarch64 pgdg 56.1 KiB postgresql-16-pg-qualstats_2.1.3-1.pgdg13+1_arm64.deb
postgresql-16-pg-qualstats 2.1.3 u22.x86_64 pgdg 60.4 KiB postgresql-16-pg-qualstats_2.1.3-1.pgdg22.04+1_amd64.deb
postgresql-16-pg-qualstats 2.1.3 u22.aarch64 pgdg 58.8 KiB postgresql-16-pg-qualstats_2.1.3-1.pgdg22.04+1_arm64.deb
postgresql-16-pg-qualstats 2.1.3 u24.x86_64 pgdg 54.2 KiB postgresql-16-pg-qualstats_2.1.3-1.pgdg24.04+1_amd64.deb
postgresql-16-pg-qualstats 2.1.3 u24.aarch64 pgdg 53.3 KiB postgresql-16-pg-qualstats_2.1.3-1.pgdg24.04+1_arm64.deb
Package Version OS ORG SIZE File URL
pg_qualstats_15 2.1.1 el8.x86_64 pgdg 37.6 KiB pg_qualstats_15-2.1.1-1PGDG.rhel8.x86_64.rpm
pg_qualstats_15 2.1.0 el8.x86_64 pgdg 37.0 KiB pg_qualstats_15-2.1.0-1PGDG.rhel8.x86_64.rpm
pg_qualstats_15 2.0.4 el8.x86_64 pgdg 68.1 KiB pg_qualstats_15-2.0.4-1.rhel8.x86_64.rpm
pg_qualstats_15 2.1.1 el8.aarch64 pgdg 36.7 KiB pg_qualstats_15-2.1.1-1PGDG.rhel8.aarch64.rpm
pg_qualstats_15 2.1.0 el8.aarch64 pgdg 36.1 KiB pg_qualstats_15-2.1.0-1PGDG.rhel8.aarch64.rpm
pg_qualstats_15 2.0.4 el8.aarch64 pgdg 66.9 KiB pg_qualstats_15-2.0.4-1.rhel8.aarch64.rpm
pg_qualstats_15 2.1.1 el9.x86_64 pgdg 36.2 KiB pg_qualstats_15-2.1.1-1PGDG.rhel9.x86_64.rpm
pg_qualstats_15 2.1.0 el9.x86_64 pgdg 35.4 KiB pg_qualstats_15-2.1.0-1PGDG.rhel9.x86_64.rpm
pg_qualstats_15 2.0.4 el9.x86_64 pgdg 68.1 KiB pg_qualstats_15-2.0.4-1.rhel9.x86_64.rpm
pg_qualstats_15 2.1.1 el9.aarch64 pgdg 35.6 KiB pg_qualstats_15-2.1.1-1PGDG.rhel9.aarch64.rpm
pg_qualstats_15 2.1.0 el9.aarch64 pgdg 34.7 KiB pg_qualstats_15-2.1.0-1PGDG.rhel9.aarch64.rpm
pg_qualstats_15 2.0.4 el9.aarch64 pgdg 67.0 KiB pg_qualstats_15-2.0.4-1.rhel9.aarch64.rpm
pg_qualstats_15 2.1.1 el10.x86_64 pgdg 36.6 KiB pg_qualstats_15-2.1.1-2PGDG.rhel10.x86_64.rpm
pg_qualstats_15 2.1.1 el10.aarch64 pgdg 36.2 KiB pg_qualstats_15-2.1.1-2PGDG.rhel10.aarch64.rpm
postgresql-15-pg-qualstats 2.1.3 d12.x86_64 pgdg 56.8 KiB postgresql-15-pg-qualstats_2.1.3-1.pgdg12+1_amd64.deb
postgresql-15-pg-qualstats 2.1.3 d12.aarch64 pgdg 55.8 KiB postgresql-15-pg-qualstats_2.1.3-1.pgdg12+1_arm64.deb
postgresql-15-pg-qualstats 2.1.3 d13.x86_64 pgdg 56.7 KiB postgresql-15-pg-qualstats_2.1.3-1.pgdg13+1_amd64.deb
postgresql-15-pg-qualstats 2.1.3 d13.aarch64 pgdg 56.1 KiB postgresql-15-pg-qualstats_2.1.3-1.pgdg13+1_arm64.deb
postgresql-15-pg-qualstats 2.1.3 u22.x86_64 pgdg 60.5 KiB postgresql-15-pg-qualstats_2.1.3-1.pgdg22.04+1_amd64.deb
postgresql-15-pg-qualstats 2.1.3 u22.aarch64 pgdg 58.8 KiB postgresql-15-pg-qualstats_2.1.3-1.pgdg22.04+1_arm64.deb
postgresql-15-pg-qualstats 2.1.3 u24.x86_64 pgdg 54.3 KiB postgresql-15-pg-qualstats_2.1.3-1.pgdg24.04+1_amd64.deb
postgresql-15-pg-qualstats 2.1.3 u24.aarch64 pgdg 53.3 KiB postgresql-15-pg-qualstats_2.1.3-1.pgdg24.04+1_arm64.deb
Package Version OS ORG SIZE File URL
pg_qualstats_14 2.1.1 el8.x86_64 pgdg 37.7 KiB pg_qualstats_14-2.1.1-1PGDG.rhel8.x86_64.rpm
pg_qualstats_14 2.1.0 el8.x86_64 pgdg 37.1 KiB pg_qualstats_14-2.1.0-1PGDG.rhel8.x86_64.rpm
pg_qualstats_14 2.0.4 el8.x86_64 pgdg 68.7 KiB pg_qualstats_14-2.0.4-1.rhel8.x86_64.rpm
pg_qualstats_14 2.0.3 el8.x86_64 pgdg 67.2 KiB pg_qualstats_14-2.0.3-1.rhel8.x86_64.rpm
pg_qualstats_14 2.1.1 el8.aarch64 pgdg 36.8 KiB pg_qualstats_14-2.1.1-1PGDG.rhel8.aarch64.rpm
pg_qualstats_14 2.1.0 el8.aarch64 pgdg 36.1 KiB pg_qualstats_14-2.1.0-1PGDG.rhel8.aarch64.rpm
pg_qualstats_14 2.0.4 el8.aarch64 pgdg 67.0 KiB pg_qualstats_14-2.0.4-1.rhel8.aarch64.rpm
pg_qualstats_14 2.1.1 el9.x86_64 pgdg 36.2 KiB pg_qualstats_14-2.1.1-1PGDG.rhel9.x86_64.rpm
pg_qualstats_14 2.1.0 el9.x86_64 pgdg 35.4 KiB pg_qualstats_14-2.1.0-1PGDG.rhel9.x86_64.rpm
pg_qualstats_14 2.0.4 el9.x86_64 pgdg 68.6 KiB pg_qualstats_14-2.0.4-1.rhel9.x86_64.rpm
pg_qualstats_14 2.1.1 el9.aarch64 pgdg 35.5 KiB pg_qualstats_14-2.1.1-1PGDG.rhel9.aarch64.rpm
pg_qualstats_14 2.1.0 el9.aarch64 pgdg 34.8 KiB pg_qualstats_14-2.1.0-1PGDG.rhel9.aarch64.rpm
pg_qualstats_14 2.0.4 el9.aarch64 pgdg 67.0 KiB pg_qualstats_14-2.0.4-1.rhel9.aarch64.rpm
pg_qualstats_14 2.1.1 el10.x86_64 pgdg 36.6 KiB pg_qualstats_14-2.1.1-2PGDG.rhel10.x86_64.rpm
pg_qualstats_14 2.1.1 el10.aarch64 pgdg 36.3 KiB pg_qualstats_14-2.1.1-2PGDG.rhel10.aarch64.rpm
postgresql-14-pg-qualstats 2.1.3 d12.x86_64 pgdg 57.2 KiB postgresql-14-pg-qualstats_2.1.3-1.pgdg12+1_amd64.deb
postgresql-14-pg-qualstats 2.1.3 d12.aarch64 pgdg 56.1 KiB postgresql-14-pg-qualstats_2.1.3-1.pgdg12+1_arm64.deb
postgresql-14-pg-qualstats 2.1.3 d13.x86_64 pgdg 57.3 KiB postgresql-14-pg-qualstats_2.1.3-1.pgdg13+1_amd64.deb
postgresql-14-pg-qualstats 2.1.3 d13.aarch64 pgdg 56.3 KiB postgresql-14-pg-qualstats_2.1.3-1.pgdg13+1_arm64.deb
postgresql-14-pg-qualstats 2.1.3 u22.x86_64 pgdg 61.0 KiB postgresql-14-pg-qualstats_2.1.3-1.pgdg22.04+1_amd64.deb
postgresql-14-pg-qualstats 2.1.3 u22.aarch64 pgdg 59.5 KiB postgresql-14-pg-qualstats_2.1.3-1.pgdg22.04+1_arm64.deb
postgresql-14-pg-qualstats 2.1.3 u24.x86_64 pgdg 54.6 KiB postgresql-14-pg-qualstats_2.1.3-1.pgdg24.04+1_amd64.deb
postgresql-14-pg-qualstats 2.1.3 u24.aarch64 pgdg 53.7 KiB postgresql-14-pg-qualstats_2.1.3-1.pgdg24.04+1_arm64.deb

Source

Install

Make sure PGDG repo available:

pig repo add pgdg -u    # add pgdg repo and update cache

Install this extension with pig:

pig install pg_qualstats;		# install via package name, for the active PG version

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

Config this extension to shared_preload_libraries:

shared_preload_libraries = 'pg_qualstats';

Create this extension with:

CREATE EXTENSION pg_qualstats;

Usage

pg_qualstats: predicate statistics collector for PostgreSQL

pg_qualstats keeps statistics on predicates found in WHERE clauses and JOIN conditions. It tracks which columns are most frequently queried and which are queried together, enabling index recommendations.

Viewing Predicate Statistics

-- Raw predicate statistics for current database
SELECT * FROM pg_qualstats;

-- Human-readable aggregated form
SELECT * FROM pg_qualstats_pretty;

-- Aggregated per-attribute statistics
SELECT * FROM pg_qualstats_all;

-- Predicates aggregated by query
SELECT * FROM pg_qualstats_by_query;

Index Advisor

Generate index suggestions based on collected predicate statistics:

-- Suggest indexes (filtering predicates with >1000 rows and >30% selectivity)
SELECT v FROM json_array_elements(
    pg_qualstats_index_advisor(min_filter => 50)->'indexes') v;

-- Show predicates that couldn't be optimized
SELECT v FROM json_array_elements(
    pg_qualstats_index_advisor(min_filter => 50)->'unoptimised') v;

Utility Functions

-- Get stored query text for a queryid
SELECT pg_qualstats_example_query(queryid);

-- Get all stored query texts
SELECT * FROM pg_qualstats_example_queries();

-- Reset all statistics
SELECT pg_qualstats_reset();

Configuration

Parameter Default Description
pg_qualstats.enabled true Enable/disable collection
pg_qualstats.track_constants true Track individual constant values
pg_qualstats.max 1000 Maximum tracked predicates and query texts
pg_qualstats.resolve_oids false Resolve OIDs at query time (uses more space)
pg_qualstats.track_pg_catalog false Track predicates on pg_catalog objects
pg_qualstats.sample_rate -1 Fraction of queries to sample (-1 = auto: 1/max_connections)
Last updated on