system_stats
PostgreSQL 的系统统计函数
仓库
EnterpriseDB/system_stats
https://github.com/EnterpriseDB/system_stats
源码
system_stats-4.0.tar.gz
system_stats-4.0.tar.gz
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
system_stats | 4.0 | STAT | PostgreSQL | C |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 6420 | system_stats | 否 | 是 | 否 | 是 | 否 | 是 | - |
| 相关扩展 | pgnodemx pg_proctab pgmeminfo pgfincore pg_wait_sampling pg_buffercache pg_background pg_cooldown |
|---|
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | MIXED | 4.0 | 1817161514 | system_stats | - |
| RPM | PGDG | 4.0 | 1817161514 | system_stats_$v | - |
| DEB | PIGSTY | 4.0 | 1817161514 | postgresql-$v-system-stats | - |
构建
您可以使用 pig build 命令构建 system_stats 扩展的 DEB 包:
pig build pkg system_stats # 构建 DEB 包
安装
您可以直接安装 system_stats 扩展包的预置二进制包,首先确保 PGDG 和 PIGSTY 仓库已经添加并启用:
pig repo add pgsql -u # 添加仓库并更新缓存
使用 pig 或者是 apt/yum/dnf 安装扩展:
pig install system_stats; # 当前活跃 PG 版本安装
pig ext install -y system_stats -v 18 # PG 18
pig ext install -y system_stats -v 17 # PG 17
pig ext install -y system_stats -v 16 # PG 16
pig ext install -y system_stats -v 15 # PG 15
pig ext install -y system_stats -v 14 # PG 14
dnf install -y system_stats_18 # PG 18
dnf install -y system_stats_17 # PG 17
dnf install -y system_stats_16 # PG 16
dnf install -y system_stats_15 # PG 15
dnf install -y system_stats_14 # PG 14
apt install -y postgresql-18-system-stats # PG 18
apt install -y postgresql-17-system-stats # PG 17
apt install -y postgresql-16-system-stats # PG 16
apt install -y postgresql-15-system-stats # PG 15
apt install -y postgresql-14-system-stats # PG 14
创建扩展:
CREATE EXTENSION system_stats;
用法
来源:README,Release v4.0,SQL install script
system_stats 通过 SQL 函数暴露操作系统指标。它支持 Linux、macOS 与 Windows,对于当前平台无意义的字段会返回 NULL。
主要函数
CREATE EXTENSION system_stats;
SELECT * FROM pg_sys_os_info();
SELECT * FROM pg_sys_cpu_info();
SELECT * FROM pg_sys_cpu_usage_info();
SELECT * FROM pg_sys_memory_info();
SELECT * FROM pg_sys_io_analysis_info();
SELECT * FROM pg_sys_disk_info();
SELECT * FROM pg_sys_load_avg_info();
SELECT * FROM pg_sys_process_info();
SELECT * FROM pg_sys_network_info();
SELECT * FROM pg_sys_cpu_memory_by_process();
这些函数覆盖 OS identity、CPU inventory 与 usage、memory、block-device I/O、disks、load average、process counts、network interfaces,以及 per-process CPU 与 memory usage。
访问控制
GRANT monitor_system_stats TO nagios;
GRANT EXECUTE ON FUNCTION pg_sys_os_info() TO pg_monitor;
- 该扩展会创建
monitor_system_statsrole,并将内置函数的执行权限授予该 role。 - 所有函数都会从
PUBLIC撤销。
注意事项
- 删除扩展时不会自动删除
monitor_system_statsrole。 - 在 macOS 上,系统无法暴露其他用户拥有进程的完整 per-process 细节;这些行可能只包含 PID 与进程名。
- 当前 v4.0 上游文档保持相同的用户函数族和安全模型;这次刷新主要是使名称、权限和平台说明与当前 README 和 SQL script 对齐。