system_stats

PostgreSQL 的系统统计函数

概览

扩展包名版本分类许可证语言
system_stats4.1STATPostgreSQLC
ID扩展名BinLibLoadCreateTrustReloc模式
6420system_stats-
相关扩展pgnodemx pg_proctab pgmeminfo pgfincore pg_wait_sampling pg_buffercache pg_background pg_cooldown

PGDG RPM and PIGSTY DEB package/source version 4.1 cover PostgreSQL 14-18; SQL/control version is 4.0.

版本

类型仓库版本PG 大版本包名依赖
EXTMIXED4.11817161514system_stats-
RPMPGDG4.11817161514system_stats_$v-
DEBPIGSTY4.11817161514postgresql-$v-system-stats-
OS / PGPG18PG17PG16PG15PG14
el8.x86_64
el8.aarch64
el9.x86_64
el9.aarch64
el10.x86_64
el10.aarch64
d12.x86_64
PIGSTY 4.1
PIGSTY 4.1
PIGSTY 4.1
PIGSTY 4.1
PIGSTY 4.1
d12.aarch64
PIGSTY 4.1
PIGSTY 4.1
PIGSTY 4.1
PIGSTY 4.1
PIGSTY 4.1
d13.x86_64
PIGSTY 4.1
PIGSTY 4.1
PIGSTY 4.1
PIGSTY 4.1
PIGSTY 4.1
d13.aarch64
PIGSTY 4.1
PIGSTY 4.1
PIGSTY 4.1
PIGSTY 4.1
PIGSTY 4.1
u22.x86_64
PIGSTY 4.1
PIGSTY 4.1
PIGSTY 4.1
PIGSTY 4.1
PIGSTY 4.1
u22.aarch64
PIGSTY 4.1
PIGSTY 4.1
PIGSTY 4.1
PIGSTY 4.1
PIGSTY 4.1
u24.x86_64
PIGSTY 4.1
PIGSTY 4.1
PIGSTY 4.1
PIGSTY 4.1
PIGSTY 4.1
u24.aarch64
PIGSTY 4.1
PIGSTY 4.1
PIGSTY 4.1
PIGSTY 4.1
PIGSTY 4.1
u26.x86_64
PIGSTY 4.1
PIGSTY 4.1
PIGSTY 4.1
PIGSTY 4.1
PIGSTY 4.1
u26.aarch64
PIGSTY 4.1
PIGSTY 4.1
PIGSTY 4.1
PIGSTY 4.1
PIGSTY 4.1

构建

您可以使用 pig build 命令构建 system_stats 扩展的 DEB 包:

pig build pkg system_stats         # 构建 DEB 包

安装

您可以直接安装 system_stats 扩展包的预置二进制包,首先确保 PGDGPIGSTY 仓库已经添加并启用:

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();

这些函数覆盖操作系统身份、CPU 清单与使用率、内存、块设备 I/O、磁盘、负载均值、进程数量、网络接口,以及各进程的 CPU 与内存使用情况。

访问控制

GRANT monitor_system_stats TO nagios;
GRANT EXECUTE ON FUNCTION pg_sys_os_info() TO pg_monitor;
  • 扩展会创建 monitor_system_stats 角色,并把随扩展提供的函数执行权授予该角色。
  • 函数会从 PUBLIC 撤销权限。

注意事项

  • 删除扩展时,monitor_system_stats 角色不会自动删除。
  • macOS 无法暴露其他用户所拥有进程的完整详情;这些行可能只包含 PID 和进程名。
  • Pigsty 元数据跟踪 system_stats 4.0,覆盖 PostgreSQL 14-18;RPM 和 DEB 包名不同(system_stats_$vpostgresql-$v-system-stats)。
  • 当前 v4.0 上游文档保留了相同的用户侧函数家族和安全模型;本次刷新主要是让名称、权限和平台说明与当前 README 和 SQL 脚本对齐。