pg_stat_ch
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
pg_stat_ch | 0.4.0 | STAT | Apache-2.0 | C++ |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 6020 | pg_stat_ch | 否 | 是 | 是 | 是 | 否 | 否 | - |
| 相关扩展 | pg_clickhouse pg_stat_monitor pgmonitor pg_datasentinel duckdb_fdw pgsentinel pgnodemx pg_duckdb system_stats pg_profile |
|---|
Maintained release/package 0.4.0 installs SQL extension 0.4. PG16-18; requires preload. Local RPM builds cover both EL8 architectures with a private Bison 3.8.2 build tool. Local matrix on 2026-10-10 has RPM 0.4.0 and DEB 0.3.6; retain maintained DEB 0.4.0. Repository publication is checked separately.
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | PIGSTY | 0.4.0 | 1817161514 | pg_stat_ch | - |
| RPM | PIGSTY | 0.4.0 | 1817161514 | pg_stat_ch_$v | - |
| DEB | PIGSTY | 0.4.0 | 1817161514 | postgresql-$v-pg-stat-ch | - |
| OS / PG | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|
| el8.x86_64 | PIGSTY 0.4.0 el8.x86_64.pg18 : pg_stat_ch_18 pg_stat_ch_18-0.4.0-1PGSTY.el8.x86_64.rpm
| PIGSTY 0.4.0 el8.x86_64.pg17 : pg_stat_ch_17 pg_stat_ch_17-0.4.0-1PGSTY.el8.x86_64.rpm
| PIGSTY 0.4.0 el8.x86_64.pg16 : pg_stat_ch_16 pg_stat_ch_16-0.4.0-1PGSTY.el8.x86_64.rpm
| N/A | N/A |
| el8.aarch64 | PIGSTY 0.4.0 el8.aarch64.pg18 : pg_stat_ch_18 pg_stat_ch_18-0.4.0-1PGSTY.el8.aarch64.rpm
| PIGSTY 0.4.0 el8.aarch64.pg17 : pg_stat_ch_17 pg_stat_ch_17-0.4.0-1PGSTY.el8.aarch64.rpm
| PIGSTY 0.4.0 el8.aarch64.pg16 : pg_stat_ch_16 pg_stat_ch_16-0.4.0-1PGSTY.el8.aarch64.rpm
| N/A | N/A |
| el9.x86_64 | PIGSTY 0.4.0 el9.x86_64.pg18 : pg_stat_ch_18 pg_stat_ch_18-0.4.0-1PGSTY.el9.x86_64.rpm
| PIGSTY 0.4.0 el9.x86_64.pg17 : pg_stat_ch_17 pg_stat_ch_17-0.4.0-1PGSTY.el9.x86_64.rpm
| PIGSTY 0.4.0 el9.x86_64.pg16 : pg_stat_ch_16 pg_stat_ch_16-0.4.0-1PGSTY.el9.x86_64.rpm
| N/A | N/A |
| el9.aarch64 | PIGSTY 0.4.0 el9.aarch64.pg18 : pg_stat_ch_18 pg_stat_ch_18-0.4.0-1PGSTY.el9.aarch64.rpm
| PIGSTY 0.4.0 el9.aarch64.pg17 : pg_stat_ch_17 pg_stat_ch_17-0.4.0-1PGSTY.el9.aarch64.rpm
| PIGSTY 0.4.0 el9.aarch64.pg16 : pg_stat_ch_16 pg_stat_ch_16-0.4.0-1PGSTY.el9.aarch64.rpm
| N/A | N/A |
| el10.x86_64 | PIGSTY 0.4.0 el10.x86_64.pg18 : pg_stat_ch_18 pg_stat_ch_18-0.4.0-1PGSTY.el10.x86_64.rpm
| PIGSTY 0.4.0 el10.x86_64.pg17 : pg_stat_ch_17 pg_stat_ch_17-0.4.0-1PGSTY.el10.x86_64.rpm
| PIGSTY 0.4.0 el10.x86_64.pg16 : pg_stat_ch_16 pg_stat_ch_16-0.4.0-1PGSTY.el10.x86_64.rpm
| N/A | N/A |
| el10.aarch64 | PIGSTY 0.4.0 el10.aarch64.pg18 : pg_stat_ch_18 pg_stat_ch_18-0.4.0-1PGSTY.el10.aarch64.rpm
| PIGSTY 0.4.0 el10.aarch64.pg17 : pg_stat_ch_17 pg_stat_ch_17-0.4.0-1PGSTY.el10.aarch64.rpm
| PIGSTY 0.4.0 el10.aarch64.pg16 : pg_stat_ch_16 pg_stat_ch_16-0.4.0-1PGSTY.el10.aarch64.rpm
| N/A | N/A |
| d12.x86_64 | PIGSTY 0.3.6 d12.x86_64.pg18 : postgresql-18-pg-stat-ch postgresql-18-pg-stat-ch_0.3.6-1PIGSTY~bookworm_amd64.deb
| PIGSTY 0.3.6 d12.x86_64.pg17 : postgresql-17-pg-stat-ch postgresql-17-pg-stat-ch_0.3.6-1PIGSTY~bookworm_amd64.deb
| PIGSTY 0.3.6 d12.x86_64.pg16 : postgresql-16-pg-stat-ch postgresql-16-pg-stat-ch_0.3.6-1PIGSTY~bookworm_amd64.deb
| N/A | N/A |
| d12.aarch64 | PIGSTY 0.3.6 d12.aarch64.pg18 : postgresql-18-pg-stat-ch postgresql-18-pg-stat-ch_0.3.6-1PIGSTY~bookworm_arm64.deb
| PIGSTY 0.3.6 d12.aarch64.pg17 : postgresql-17-pg-stat-ch postgresql-17-pg-stat-ch_0.3.6-1PIGSTY~bookworm_arm64.deb
| PIGSTY 0.3.6 d12.aarch64.pg16 : postgresql-16-pg-stat-ch postgresql-16-pg-stat-ch_0.3.6-1PIGSTY~bookworm_arm64.deb
| N/A | N/A |
| d13.x86_64 | PIGSTY 0.3.6 d13.x86_64.pg18 : postgresql-18-pg-stat-ch postgresql-18-pg-stat-ch_0.3.6-1PIGSTY~trixie_amd64.deb
| PIGSTY 0.3.6 d13.x86_64.pg17 : postgresql-17-pg-stat-ch postgresql-17-pg-stat-ch_0.3.6-1PIGSTY~trixie_amd64.deb
| PIGSTY 0.3.6 d13.x86_64.pg16 : postgresql-16-pg-stat-ch postgresql-16-pg-stat-ch_0.3.6-1PIGSTY~trixie_amd64.deb
| N/A | N/A |
| d13.aarch64 | PIGSTY 0.3.6 d13.aarch64.pg18 : postgresql-18-pg-stat-ch postgresql-18-pg-stat-ch_0.3.6-1PIGSTY~trixie_arm64.deb
| PIGSTY 0.3.6 d13.aarch64.pg17 : postgresql-17-pg-stat-ch postgresql-17-pg-stat-ch_0.3.6-1PIGSTY~trixie_arm64.deb
| PIGSTY 0.3.6 d13.aarch64.pg16 : postgresql-16-pg-stat-ch postgresql-16-pg-stat-ch_0.3.6-1PIGSTY~trixie_arm64.deb
| N/A | N/A |
| u22.x86_64 | PIGSTY 0.3.6 u22.x86_64.pg18 : postgresql-18-pg-stat-ch postgresql-18-pg-stat-ch_0.3.6-1PIGSTY~jammy_amd64.deb
| PIGSTY 0.3.6 u22.x86_64.pg17 : postgresql-17-pg-stat-ch postgresql-17-pg-stat-ch_0.3.6-1PIGSTY~jammy_amd64.deb
| PIGSTY 0.3.6 u22.x86_64.pg16 : postgresql-16-pg-stat-ch postgresql-16-pg-stat-ch_0.3.6-1PIGSTY~jammy_amd64.deb
| N/A | N/A |
| u22.aarch64 | PIGSTY 0.3.6 u22.aarch64.pg18 : postgresql-18-pg-stat-ch postgresql-18-pg-stat-ch_0.3.6-1PIGSTY~jammy_arm64.deb
| PIGSTY 0.3.6 u22.aarch64.pg17 : postgresql-17-pg-stat-ch postgresql-17-pg-stat-ch_0.3.6-1PIGSTY~jammy_arm64.deb
| PIGSTY 0.3.6 u22.aarch64.pg16 : postgresql-16-pg-stat-ch postgresql-16-pg-stat-ch_0.3.6-1PIGSTY~jammy_arm64.deb
| N/A | N/A |
| u24.x86_64 | PIGSTY 0.3.6 u24.x86_64.pg18 : postgresql-18-pg-stat-ch postgresql-18-pg-stat-ch_0.3.6-1PIGSTY~noble_amd64.deb
| PIGSTY 0.3.6 u24.x86_64.pg17 : postgresql-17-pg-stat-ch postgresql-17-pg-stat-ch_0.3.6-1PIGSTY~noble_amd64.deb
| PIGSTY 0.3.6 u24.x86_64.pg16 : postgresql-16-pg-stat-ch postgresql-16-pg-stat-ch_0.3.6-1PIGSTY~noble_amd64.deb
| N/A | N/A |
| u24.aarch64 | PIGSTY 0.3.6 u24.aarch64.pg18 : postgresql-18-pg-stat-ch postgresql-18-pg-stat-ch_0.3.6-1PIGSTY~noble_arm64.deb
| PIGSTY 0.3.6 u24.aarch64.pg17 : postgresql-17-pg-stat-ch postgresql-17-pg-stat-ch_0.3.6-1PIGSTY~noble_arm64.deb
| PIGSTY 0.3.6 u24.aarch64.pg16 : postgresql-16-pg-stat-ch postgresql-16-pg-stat-ch_0.3.6-1PIGSTY~noble_arm64.deb
| N/A | N/A |
| u26.x86_64 | PIGSTY 0.3.6 u26.x86_64.pg18 : postgresql-18-pg-stat-ch postgresql-18-pg-stat-ch_0.3.6-1PIGSTY~resolute_amd64.deb
| PIGSTY 0.3.6 u26.x86_64.pg17 : postgresql-17-pg-stat-ch postgresql-17-pg-stat-ch_0.3.6-1PIGSTY~resolute_amd64.deb
| PIGSTY 0.3.6 u26.x86_64.pg16 : postgresql-16-pg-stat-ch postgresql-16-pg-stat-ch_0.3.6-1PIGSTY~resolute_amd64.deb
| N/A | N/A |
| u26.aarch64 | PIGSTY 0.3.6 u26.aarch64.pg18 : postgresql-18-pg-stat-ch postgresql-18-pg-stat-ch_0.3.6-1PIGSTY~resolute_arm64.deb
| PIGSTY 0.3.6 u26.aarch64.pg17 : postgresql-17-pg-stat-ch postgresql-17-pg-stat-ch_0.3.6-1PIGSTY~resolute_arm64.deb
| PIGSTY 0.3.6 u26.aarch64.pg16 : postgresql-16-pg-stat-ch postgresql-16-pg-stat-ch_0.3.6-1PIGSTY~resolute_arm64.deb
| N/A | N/A |
构建
您可以使用 pig build 命令构建 pg_stat_ch 扩展的 RPM / DEB 包:
安装
您可以直接安装 pg_stat_ch 扩展包的预置二进制包,首先确保 PGDG 和 PIGSTY 仓库已经添加并启用:
使用 pig 或者是 apt/yum/dnf 安装扩展:
预加载配置:
创建扩展:
用法
pg_stat_ch 会捕获 PostgreSQL 的逐查询执行遥测,并通过共享内存队列和后台工作进程将原始事件导出到 ClickHouse。上游将它定位为 pg_stat_statements 的原始事件替代方案:聚合与看板交给 ClickHouse 处理,而不是留在 PostgreSQL 内部。
所需配置
pg_stat_ch 必须预加载,并指向一个 ClickHouse 数据库:
README 说明 PostgreSQL 16、17 和 18 已完整支持;最新发行版是 2026-04-15 发布的 0.3.6。
SQL API
pg_stat_ch_version()返回扩展版本。pg_stat_ch_stats()暴露队列与导出器计数器。pg_stat_ch_reset()清空队列计数器。pg_stat_ch_flush()立即触发一次导出刷新。
重要 GUC
pg_stat_ch.enabled控制是否采集。pg_stat_ch.queue_capacity和pg_stat_ch.string_area_size用于调整共享内存缓冲区大小。pg_stat_ch.flush_interval_ms和pg_stat_ch.batch_max控制导出节奏和批量大小。pg_stat_ch.log_min_elevel控制捕获哪些错误。
捕获内容
- 查询耗时、返回行数、缓冲区使用、WAL 使用量和 CPU 时间。
- DML、DDL 和工具语句。
- SQLSTATE 和错误级别。
- PostgreSQL 15+ 的 JIT 指标。
- PostgreSQL 18+ 的并行工作进程统计。
- 应用名、客户端 IP,以及在上游截断限制内的查询文本。
0.3.6 发行版将规范化缓存替换为以 queryId 为键的 LRU 缓存,并将 OpenTelemetry SDK 替换为直接使用 protobuf 的导出器和采样支持。现有 SQL 用法仍围绕事件表、汇总视图,以及上面的重置/版本辅助函数。
注意事项
- 该设计在队列溢出时会主动丢弃事件,而不是阻塞前台查询路径。
- 创建 ClickHouse 模式是必需的部署步骤;上游快速入门脚本会自动加载,但手工部署必须单独加载该模式。
- 在 Pigsty 当前这次 RPM 刷新中,
pg_stat_ch面向 PostgreSQL 16-18,且仅覆盖 EL9/EL10;Debian/Ubuntu 包仍覆盖活跃目标上的 PostgreSQL 16-18。
这个页面对您有帮助吗?
感谢反馈,我们会据此改进这篇文档。
哪里没有解决?(可选)