pg_wait_sampling
基于采样的等待事件统计
仓库
postgrespro/pg_wait_sampling
https://github.com/postgrespro/pg_wait_sampling
源码
pg_wait_sampling-1.1.11.tar.gz
pg_wait_sampling-1.1.11.tar.gz
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
pg_wait_sampling | 1.1.11 | STAT | PostgreSQL | C |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 6280 | pg_wait_sampling | 否 | 是 | 是 | 是 | 否 | 是 | - |
| 相关扩展 | pg_profile pgsentinel pg_stat_monitor pg_datasentinel powa pgrowlocks pg_visibility pg_show_plans pg_stat_statements pg_stat_plans |
|---|
PIGSTY RPM and PGDG DEB package version 1.1.11 cover PostgreSQL 14-18; SQL/control version is 1.1 and shared_preload_libraries=pg_wait_sampling is required.
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | MIXED | 1.1.11 | 1817161514 | pg_wait_sampling | - |
| RPM | PIGSTY | 1.1.11 | 1817161514 | pg_wait_sampling_$v | - |
| DEB | PGDG | 1.1.11 | 1817161514 | postgresql-$v-pg-wait-sampling | - |
构建
您可以使用 pig build 命令构建 pg_wait_sampling 扩展的 RPM 包:
BASH
安装
您可以直接安装 pg_wait_sampling 扩展包的预置二进制包,首先确保 PGDG 和 PIGSTY 仓库已经添加并启用:
BASH
使用 pig 或者是 apt/yum/dnf 安装扩展:
安装
BASH
pig
BASH
dnf
BASH
apt
BASH
预加载配置:
BASH
创建扩展:
SQL
用法
pg_wait_sampling 通过定期采样每个后端正在等待的事件来收集等待事件统计。它提供近期历史环形缓冲区和累积统计两种视图。
视图
当前等待事件:
SQL
| 列名 | 类型 | 描述 |
|---|---|---|
pid | int4 | 进程 ID |
event_type | text | 等待事件类型 |
event | text | 等待事件名称 |
queryid | int8 | 查询 ID |
等待事件历史(近期采样的环形缓冲区):
SQL
| 列名 | 类型 | 描述 |
|---|---|---|
pid | int4 | 进程 ID |
ts | timestamptz | 采样时间戳 |
event_type | text | 等待事件类型 |
event | text | 等待事件名称 |
queryid | int8 | 查询 ID |
等待事件剖析(累积计数):
SQL
| 列名 | 类型 | 描述 |
|---|---|---|
pid | int4 | 进程 ID |
event_type | text | 等待事件类型 |
event | text | 等待事件名称 |
queryid | int8 | 查询 ID |
count | text | 采样计数 |
获取特定进程的当前等待事件:
SQL
重置剖析
SQL
配置
| 参数 | 默认值 | 描述 |
|---|---|---|
pg_wait_sampling.history_size | 5000 | 环形缓冲区大小 |
pg_wait_sampling.history_period | 10 | 历史采样周期(毫秒) |
pg_wait_sampling.profile_period | 10 | 剖析采样周期(毫秒) |
pg_wait_sampling.profile_pid | true | 按进程收集剖析 |
pg_wait_sampling.profile_queries | top | 按查询剖析:none、top、all |
pg_wait_sampling.sample_cpu | true | 采样 CPU 上的后端(事件列为 NULL) |
示例:热点等待事件
SQL