powa

PostgreSQL Workload Analyser-core

Overview

PackageVersionCategoryLicenseLanguage
powa5.1.1STATPostgreSQLPython
IDExtensionBinLibLoadCreateTrustRelocSchema
6870powaNoYesNoYesNoNopublic
Relatedplpgsql pg_stat_statements btree_gist pg_stat_kcache pg_qualstats pg_wait_sampling hypopg plprofiler pg_profile pg_track_settings btree_gin

pgdg missing el10.pg17

Version

TypeRepoVersionPG VerPackageDeps
EXTPGDG5.1.11817161514powaplpgsql, pg_stat_statements, btree_gist
RPMPGDG5.1.01817161514powa_$v-
DEBPGDG5.1.11817161514postgresql-$v-powa-
OS / PGPG18PG17PG16PG15PG14
el8.x86_64
el8.aarch64
el9.x86_64
el9.aarch64
el10.x86_64PGDG MISS
el10.aarch64PGDG MISS
d12.x86_64
PGDG 5.1.1
PGDG 5.1.1
PGDG 5.1.1
PGDG 5.1.1
PGDG 5.1.1
d12.aarch64
PGDG 5.1.1
PGDG 5.1.1
PGDG 5.1.1
PGDG 5.1.1
PGDG 5.1.1
d13.x86_64
PGDG 5.1.1
PGDG 5.1.1
PGDG 5.1.1
PGDG 5.1.1
PGDG 5.1.1
d13.aarch64
PGDG 5.1.1
PGDG 5.1.1
PGDG 5.1.1
PGDG 5.1.1
PGDG 5.1.1
u22.x86_64
u22.aarch64
u24.x86_64
u24.aarch64

Install

You can install powa directly. First, make sure the PGDG repository is added and enabled:

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

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

pig install powa;          # Install for current active PG version
pig ext install -y powa -v 18  # PG 18
pig ext install -y powa -v 17  # PG 17
pig ext install -y powa -v 16  # PG 16
pig ext install -y powa -v 15  # PG 15
pig ext install -y powa -v 14  # PG 14
dnf install -y powa_18       # PG 18
dnf install -y powa_17       # PG 17
dnf install -y powa_16       # PG 16
dnf install -y powa_15       # PG 15
dnf install -y powa_14       # PG 14
apt install -y postgresql-18-powa   # PG 18
apt install -y postgresql-17-powa   # PG 17
apt install -y postgresql-16-powa   # PG 16
apt install -y postgresql-15-powa   # PG 15
apt install -y postgresql-14-powa   # PG 14

Create Extension:

CREATE EXTENSION powa CASCADE;  -- requires: plpgsql, pg_stat_statements, btree_gist

Usage

powa: PostgreSQL Workload Analyzer

PoWA is a workload analysis framework that collects performance statistics and provides real-time charts through a web UI. The core extension (powa-archivist) snapshots statistics from multiple stat extensions.

Architecture

PoWA consists of several components:

  • powa-archivist: The PostgreSQL extension that collects and stores statistics
  • powa-web: A web UI for visualizing performance data
  • pg_stat_statements: Required for query statistics
  • pg_qualstats: Optional, provides predicate statistics and index suggestions
  • pg_stat_kcache: Optional, provides OS-level metrics (CPU, I/O)
  • pg_wait_sampling: Optional, provides wait event sampling

Taking Snapshots

PoWA periodically snapshots statistics from all registered extensions:

-- Manual snapshot
SELECT powa_take_snapshot();

-- Check snapshot status
SELECT * FROM powa_snapshot_metas;

Configuration

-- Register stat extensions (done automatically on CREATE EXTENSION)
SELECT powa_register_server(hostname => 'localhost', port => 5432);

-- Configure snapshot interval and retention
ALTER EXTENSION powa UPDATE;

Key Tables and Views

-- View collected query statistics
SELECT * FROM powa_statements;

-- View snapshot history
SELECT * FROM powa_snapshot_metas;

Web UI

The PoWA web interface (installed separately) provides:

  • Real-time query performance dashboards
  • Per-query drill-down with plan details
  • Index suggestions based on pg_qualstats
  • Wait event analysis
  • System resource usage graphs

Documentation: powa.readthedocs.io


Last Modified 2026-03-12: add pg extension catalog (95749bf)