PostgreSQL 18 中文参考文档(未翻译部分保留英文)🌐 切换到英文原版 →

27.2. 累积统计收集器 #

27.2.1. 统计收集配置
27.2.2. 内置统计视图概览
27.2.3. pg_stat_activity 视图
27.2.4. pg_stat_replication 视图
27.2.5. pg_stat_replication_slots 视图
27.2.6. pg_stat_wal_receiver 视图
27.2.7. pg_stat_recovery_prefetch 视图
27.2.8. pg_stat_subscription 视图
27.2.9. pg_stat_subscription_stats 视图
27.2.10. pg_stat_ssl 视图
27.2.11. pg_stat_gssapi 视图
27.2.12. pg_stat_archiver 视图
27.2.13. pg_stat_io 视图
27.2.14. pg_stat_bgwriter 视图
27.2.15. pg_stat_checkpointer 视图
27.2.16. pg_stat_wal 视图
27.2.17. pg_stat_database 视图
27.2.18. pg_stat_database_conflicts 视图
27.2.19. pg_stat_all_tables 视图
27.2.20. pg_stat_all_indexes 视图
27.2.21. pg_statio_all_tables 视图
27.2.22. pg_statio_all_indexes 视图
27.2.23. pg_statio_all_sequences 视图
27.2.24. pg_stat_user_functions 视图
27.2.25. pg_stat_slru 视图
27.2.26. 统计收集函数

PostgreSQL 内置了高性能的累积统计收集系统,能够记录对数据表的访问频次、磁盘 I/O 读写块数、WAL 生成量以及会话连接事件。

27.2.1. 统计收集配置 #

统计数据的采集开销极其低廉,默认全部自动开启(包括 track_activities、track_counts 与 track_io_timing)。

27.2.2. 内置统计视图概览 #

系统提供了两组核心内置视图:动态视图与累积统计视图。

Table 27.1. 动态统计视图

视图名称说明
pg_stat_activity每个活跃客户端会话的当前执行状态
pg_stat_replication流复制连接的发送状态
pg_stat_wal_receiver流复制接收端工作进程状态

Table 27.2. 累积统计视图

视图名称说明
pg_stat_database数据库级别的全局聚合度量
pg_stat_all_tables表级别访问与元组增删改统计
pg_stat_all_indexes索引使用频次与检索效率统计
pg_statio_all_tables表级别磁盘读取与缓冲命中统计
pg_stat_io全集群细粒度物理 I/O 统计
pg_stat_walWAL 写入与磁盘刷盘统计

27.2.3. pg_stat_activity 视图 #

显示每个后台连接进程的当前活动、正在执行的 SQL 语句文本、事务启动时间以及锁等待事件。

Table 27.3. pg_stat_activity 视图字段

字段名说明
pid后台进程 ID
state当前连接状态(active, idle 等)
query当前正在执行的 SQL

Table 27.4. 等待事件分类表

事件类型说明
Lock常规锁等待
IO磁盘 I/O 读写等待

27.2.4. pg_stat_replication 视图 #

显示主节点上正在向备节点流式发送 WAL 的 walsender 进程状态。

Table 27.5. pg_stat_replication 字段

字段说明
client_addr备库 IP 地址
replay_lsn备库最新回放位点

27.2.5. pg_stat_replication_slots 视图 #

提供关于逻辑与物理复制槽的数据处理度量统计。

Table 27.6. pg_stat_replication_slots 字段

字段说明
slot_name复制槽名称
spill_bytes解码溢出到磁盘的字节数

27.2.6. pg_stat_wal_receiver 视图 #

在备库上显示正在接收 WAL 流的 walreceiver 工作进程实时状态。

Table 27.7. pg_stat_wal_receiver 字段

字段说明
status接收器运行状态

27.2.7. pg_stat_recovery_prefetch 视图 #

显示备库或故障恢复期间预读磁盘块的命中统计。

Table 27.8. pg_stat_recovery_prefetch 字段

字段说明
prefetch预读页面计数

27.2.8. pg_stat_subscription 视图 #

显示订阅端上逻辑复制各个订阅工作进程的实时连接状态。

Table 27.9. pg_stat_subscription 字段

字段说明
subname订阅名称

27.2.9. pg_stat_subscription_stats 视图 #

提供逻辑复制订阅的累积失败与冲突度量统计。

Table 27.10. pg_stat_subscription_stats 字段

字段说明
confl_count写入冲突计数

27.2.10. pg_stat_ssl 视图 #

显示当前每个客户端会话的 SSL/TLS 连接加密详情(加密算法、协议版本等)。

Table 27.11. pg_stat_ssl 字段

字段说明
ssl是否启用 SSL

27.2.11. pg_stat_gssapi 视图 #

显示当前客户端连接的 GSSAPI 身份认证与加密状态。

Table 27.12. pg_stat_gssapi 字段

字段说明
gss_authenticated是否通过 GSSAPI 认证

27.2.12. pg_stat_archiver 视图 #

显示 WAL 归档进程的成功与失败计数及最近归档时间。

Table 27.13. pg_stat_archiver 字段

字段说明
archived_count成功归档段数

27.2.13. pg_stat_io 视图 #

提供整个集群按照后台进程类型、上下文目标与 I/O 操作类型划分的细粒度读写读写统计。

Table 27.14. pg_stat_io 字段

字段说明
backend_type后台进程类别
reads物理读页面数

27.2.14. pg_stat_bgwriter 视图 #

显示后台写进程(bgwriter)的物理页面刷盘清理统计。

Table 27.15. pg_stat_bgwriter 字段

字段说明
buffers_clean清理写出的缓冲区页数

27.2.15. pg_stat_checkpointer 视图 #

显示检查点工作进程的执行频次、触发原因及刷盘耗时。

Table 27.16. pg_stat_checkpointer 字段

字段说明
num_timed定时检查点次数

27.2.16. pg_stat_wal 视图 #

显示预写式日志(WAL)的生成总量、写入与 fsync 刷盘开销。

Table 27.17. pg_stat_wal 字段

字段说明
wal_records生成的 WAL 记录数

27.2.17. pg_stat_database 视图 #

显示数据库级别的整体聚合度量(事务提交数、回滚数、死锁数、冲突数等)。

Table 27.18. pg_stat_database 字段

字段说明
xact_commit提交事务总数

27.2.18. pg_stat_database_conflicts 视图 #

显示热备节点上由不同原因导致的查询取消冲突统计。

Table 27.19. pg_stat_database_conflicts 字段

字段说明
confl_lock锁冲突取消计数

27.2.19. pg_stat_all_tables 视图 #

显示各数据表的顺序扫描次数、行读取数、存活与死元组数以及上次自动清理时间。

Table 27.20. pg_stat_all_tables 字段

字段说明
n_dead_tup死元组估计数量

27.2.20. pg_stat_all_indexes 视图 #

显示各索引的扫描次数、抓取元组数及效率。

Table 27.21. pg_stat_all_indexes 字段

字段说明
idx_scan索引扫描次数

27.2.21. pg_statio_all_tables 视图 #

显示表数据块的真实物理磁盘读取数与共享内存缓冲区命中数。

Table 27.22. pg_statio_all_tables 字段

字段说明
heap_blks_hit内存命中块数

27.2.22. pg_statio_all_indexes 视图 #

显示索引数据块的磁盘读取与内存命中统计。

Table 27.23. pg_statio_all_indexes 字段

字段说明
idx_blks_hit索引内存命中块数

27.2.23. pg_statio_all_sequences 视图 #

显示序列对象的 I/O 读写与缓存命中统计。

Table 27.24. pg_statio_all_sequences 字段

字段说明
blks_hit序列内存命中块数

27.2.24. pg_stat_user_functions 视图 #

显示用户自定义函数的执行次数、单次调用总耗时与自身耗时。

Table 27.25. pg_stat_user_functions 字段

字段说明
calls调用总次数

27.2.25. pg_stat_slru 视图 #

显示简单近期最少使用(SLRU)缓存的读写、命中与落盘统计。

Table 27.26. pg_stat_slru 字段

字段说明
blks_hitSLRU 命中块数

27.2.26. 统计收集函数 #

用于查询与重置统计收集器数据的内置函数。

Table 27.27. 常用统计查询函数

函数说明
pg_stat_reset()重置集群所有累积统计

Table 27.28. 后台统计提取函数

函数说明
pg_stat_get_backend_io()获取指定后台进程的 I/O 统计
pg_stat_get_backend_wal()获取指定后台进程的 WAL 统计