Skip to content

powa

powa : PostgreSQL Workload Analyser-core

Overview

IDExtensionPackageVersionCategoryLicenseLanguage
6870
powa
powa
5.1.1
STAT
PostgreSQL
Python
AttributeHas BinaryHas LibraryNeed LoadHas DDLRelocatableTrusted
--s-d--
No
Yes
No
Yes
no
no
Relationships
Schemaspublic
Requires
plpgsql
pg_stat_statements
btree_gist
See Also
pg_stat_kcache
pg_qualstats
pg_wait_sampling
hypopg
plprofiler
pg_profile
pg_track_settings
btree_gin

pgdg missing el10.pg17

Packages

TypeRepoVersionPG Major CompatibilityPackage PatternDependencies
EXT
PGDG
5.1.1
18
17
16
15
14
powaplpgsql, pg_stat_statements, btree_gist
RPM
PGDG
5.1.0
18
17
16
15
14
powa_$v-
DEB
PGDG
5.1.1
18
17
16
15
14
postgresql-$v-powa-
Linux / PGPG18PG17PG16PG15PG14
el8.x86_64
PGDG 5.1.0
PGDG 5.1.0
PGDG 5.1.0
PGDG 5.1.0
PGDG 5.1.0
el8.aarch64
PGDG 5.1.0
PGDG 5.1.0
PGDG 5.1.0
PGDG 5.1.0
PGDG 5.1.0
el9.x86_64
PGDG 5.1.0
PGDG 5.1.0
PGDG 5.1.0
PGDG 5.1.0
PGDG 5.1.0
el9.aarch64
PGDG 5.1.0
PGDG 5.1.0
PGDG 5.1.0
PGDG 5.1.0
PGDG 5.1.0
el10.x86_64
PGDG 5.1.0
MISS
PGDG 5.1.0
PGDG 5.1.0
PGDG 5.1.0
el10.aarch64
PGDG 5.1.0
MISS
PGDG 5.1.0
PGDG 5.1.0
PGDG 5.1.0
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
PGDG 5.1.1
PGDG 5.1.1
PGDG 5.1.1
PGDG 5.1.1
PGDG 5.1.1
u22.aarch64
PGDG 5.1.1
PGDG 5.1.1
PGDG 5.1.1
PGDG 5.1.1
PGDG 5.1.1
u24.x86_64
PGDG 5.1.1
PGDG 5.1.1
PGDG 5.1.1
PGDG 5.1.1
PGDG 5.1.1
u24.aarch64
PGDG 5.1.1
PGDG 5.1.1
PGDG 5.1.1
PGDG 5.1.1
PGDG 5.1.1
u26.x86_64
PGDG 5.1.1
PGDG 5.1.1
PGDG 5.1.1
PGDG 5.1.1
PGDG 5.1.1
u26.aarch64
PGDG 5.1.1
PGDG 5.1.1
PGDG 5.1.1
PGDG 5.1.1
PGDG 5.1.1
PackageVersionOSORGSIZEFile URL
powa_185.1.0el8.x86_64pgdg6.7 KiBpowa_18-5.1.0-1PGDG.rhel8.10.x86_64.rpm
powa_185.0.1el8.x86_64pgdg6.6 KiBpowa_18-5.0.1-1PGDG.rhel8.x86_64.rpm
powa_185.1.0el8.aarch64pgdg6.7 KiBpowa_18-5.1.0-1PGDG.rhel8.10.aarch64.rpm
powa_185.0.1el8.aarch64pgdg6.6 KiBpowa_18-5.0.1-1PGDG.rhel8.aarch64.rpm
powa_185.1.0el9.x86_64pgdg6.6 KiBpowa_18-5.1.0-1PGDG.rhel9.7.x86_64.rpm
powa_185.0.1el9.x86_64pgdg6.7 KiBpowa_18-5.0.1-1PGDG.rhel9.x86_64.rpm
powa_185.1.0el9.aarch64pgdg6.6 KiBpowa_18-5.1.0-1PGDG.rhel9.7.aarch64.rpm
powa_185.0.1el9.aarch64pgdg6.6 KiBpowa_18-5.0.1-1PGDG.rhel9.aarch64.rpm
powa_185.1.0el10.x86_64pgdg6.7 KiBpowa_18-5.1.0-1PGDGrhel10.1.x86_64.rpm
powa_185.0.1el10.x86_64pgdg7.2 KiBpowa_18-5.0.1-1PGDG.rhel10.x86_64.rpm
powa_185.1.0el10.aarch64pgdg6.7 KiBpowa_18-5.1.0-1PGDGrhel10.1.aarch64.rpm
powa_185.0.1el10.aarch64pgdg7.2 KiBpowa_18-5.0.1-1PGDG.rhel10.aarch64.rpm
postgresql-18-powa5.1.1d12.x86_64pgdg63.9 KiBpostgresql-18-powa_5.1.1-1.pgdg12+1_amd64.deb
postgresql-18-powa5.1.1d12.aarch64pgdg63.6 KiBpostgresql-18-powa_5.1.1-1.pgdg12+1_arm64.deb
postgresql-18-powa5.1.1d13.x86_64pgdg63.9 KiBpostgresql-18-powa_5.1.1-1.pgdg13+1_amd64.deb
postgresql-18-powa5.1.1d13.aarch64pgdg63.6 KiBpostgresql-18-powa_5.1.1-1.pgdg13+1_arm64.deb
postgresql-18-powa5.1.1u22.x86_64pgdg59.6 KiBpostgresql-18-powa_5.1.1-1.pgdg22.04+1_amd64.deb
postgresql-18-powa5.1.1u22.aarch64pgdg59.3 KiBpostgresql-18-powa_5.1.1-1.pgdg22.04+1_arm64.deb
postgresql-18-powa5.1.1u24.x86_64pgdg59.1 KiBpostgresql-18-powa_5.1.1-1.pgdg24.04+1_amd64.deb
postgresql-18-powa5.1.1u24.aarch64pgdg58.7 KiBpostgresql-18-powa_5.1.1-1.pgdg24.04+1_arm64.deb
postgresql-18-powa5.1.1u26.x86_64pgdg58.9 KiBpostgresql-18-powa_5.1.1-1.pgdg26.04+1_amd64.deb
postgresql-18-powa5.1.1u26.aarch64pgdg58.8 KiBpostgresql-18-powa_5.1.1-1.pgdg26.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 powa;		# install via package name, for the active PG version

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

Create this extension with:

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 updated on