powa
PostgreSQL 工作负载分析器-核心
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
powa | 5.2.0 | STAT | PostgreSQL | Python |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 6870 | powa | 否 | 是 | 否 | 是 | 否 | 否 | public |
| 相关扩展 | plpgsql pg_stat_statements btree_gist pg_stat_plans pg_profile pg_stat_statements pg_stat_monitor pg_store_plans pg_track_settings pg_track_optimizer auto_explain pg_show_plans pg_qualstats |
|---|
Latest stable upstream/PGXN and PGDG DEB are 5.2.0; PGDG RPM remains at 5.1.0.
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | PGDG | 5.2.0 | 1817161514 | powa | plpgsql, pg_stat_statements, btree_gist |
| RPM | PGDG | 5.1.0 | 1817161514 | powa_$v | - |
| DEB | PGDG | 5.2.0 | 1817161514 | postgresql-$v-powa | - |
安装
您可以直接安装 powa 扩展包的预置二进制包,首先确保 PGDG 仓库已经添加并启用:
pig repo add pgdg -u # 添加 PGDG 仓库并更新缓存
使用 pig 或者是 apt/yum/dnf 安装扩展:
pig install powa; # 当前活跃 PG 版本安装
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 powa CASCADE; -- 依赖: plpgsql, pg_stat_statements, btree_gist
用法
来源:
- PoWA Archivist 5.2.0 README
- PoWA Archivist 5.2.0 control file
- PoWA Archivist 5.2.0 release
- PoWA documentation
PoWA 是一个工作负载分析框架,用于收集性能统计数据并通过 Web UI 提供实时图表。核心扩展 (powa-archivist) 会从多个统计扩展中快照统计信息。
架构
PoWA 包含以下几个组件:
- powa-archivist:PostgreSQL 扩展,用于收集和存储统计信息
- powa-web:一个 Web UI,用于可视化性能数据
- pg_stat_statements:必需的扩展,提供查询统计信息
- pg_qualstats(可选):提供谓词统计信息和索引建议
- pg_stat_kcache(可选):提供操作系统级指标(CPU、I/O)
- pg_wait_sampling(可选):提供等待事件采样
在仓库数据库中启用该扩展。其控制文件需要 PL/pgSQL,pg_stat_statements 和 btree_gist:
CREATE EXTENSION pg_stat_statements;
CREATE EXTENSION btree_gist;
CREATE EXTENSION powa CASCADE;
pg_stat_statements 本身必须在 PostgreSQL 启动前配置在 shared_preload_libraries 中。
快照
PoWA 定期从所有注册的扩展中快照统计信息:
-- Manual snapshot
SELECT powa_take_snapshot();
-- Check snapshot status
SELECT * FROM powa_snapshot_metas;
配置
-- 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;
关键表和视图
-- View collected query statistics
SELECT * FROM powa_statements;
-- View snapshot history
SELECT * FROM powa_snapshot_metas;
Web UI
PoWA 的 Web 界面(单独安装)提供以下功能:
- 实时查询性能仪表板
- 查询钻取,带有计划详细信息
- 基于
pg_qualstats的索引建议 - 等待事件分析
- 系统资源使用情况图表
版本和部署注意事项
- PoWA Archivist 5.2.0 添加了对 PostgreSQL 19 的支持,包括新的
pg_stat_recovery和pg_stat_lock统计视图的收集器。核心快照工作流程与 5.1 系列保持兼容。 powa是数据库扩展;powa-web是一个单独的可视化服务,而powa-collector用于远程收集架构。仅安装扩展不会部署 UI。- 保留策略和快照频率直接影响仓库的增长。监控 PoWA 仓库数据库并调整保留策略以适应所需的数据库数量、查询次数以及启用的可选模块的数量。