PG28-监控数据库活动
2022-06-06 08:35:43 0 举报
AI智能生成
PostgreSQL 第28章 监控数据库活动
作者其他创作
大纲/内容
28.1. 标准 Unix 工具
ps auxww | grep ^postgres
postgres: user database host activity
postgres: user database host activity
psql -c 'SHOW cluster_name'
cluster_name
--------------
server1
(1 row)
cluster_name
--------------
server1
(1 row)
ps aux|grep server1
postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: server1: background writer
postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: server1: background writer
28.2. 统计收集器
28.2.1. 统计收集配置(postgresql.conf)
track_activities 监控任何服务器进程正在执行的当前命令
track_counts 表和索引访问次数
track_functions 追踪用户定义函数的使用
track_io_timing 监控块的读和写时间
track_wal_io_timing 启用对 WAL 写入时间的监控
28.2.2 查看统计信息
在使用统计数据监控收集的数据时,重要的是要意识到信息不会立即更新。每个单独的服务器进程在空闲之前将新的统计计数传输到收集器;因此仍在进行中的查询或交易不会影响显示的总数。此外,收集器本身最多每PGSTAT_STAT_INTERVAL毫秒发出一次新报告(500 毫秒,除非在构建服务器时更改)。因此显示的信息滞后于实际活动。但是,收集的当前查询信息track_activities始终是最新的。
可以调用pg_stat_clear_snapshot(),这将丢弃当前事务的统计快照(如果有)。下次使用统计信息将导致获取新的快照。
动态统计视图
pg_stat_activity 每个服务器进程一行,显示与该进程的当前活动相关的信息,例如状态和当前查询。详情请参阅pg_stat_activity。
pg_stat_replication 每个 WAL 发送方进程一行,显示有关复制到该发送方连接的备用服务器的统计信息。详情请参阅pg_stat_replication。
pg_stat_wal_receiver 只有一行,显示来自该接收器连接的服务器的 WAL 接收器的统计信息。详情请参阅pg_stat_wal_receiver。
pg_stat_subscription 每个订阅至少一行,显示有关订阅工作者的信息。详情请参阅pg_stat_subscription。
pg_stat_ssl 每个连接(常规和复制)一行,显示有关此连接上使用的 SSL 的信息。详情请参阅pg_stat_ssl。
pg_stat_gssapi 每个连接(常规和复制)一行,显示有关此连接上使用的 GSSAPI 身份验证和加密的信息。详情请参阅pg_stat_gssapi。
pg_stat_progress_analyze 每个运行的后端(包括 autovacuum 工作进程)一行ANALYZE,显示当前进度。请参阅第 28.4.1 节。
pg_stat_progress_create_index 每个后端运行的一行CREATE INDEX或REINDEX,显示当前进度。请参阅第 28.4.2 节。
pg_stat_progress_vacuum 每个运行的后端(包括 autovacuum 工作进程)一行VACUUM,显示当前进度。请参阅第 28.4.3 节。
pg_stat_progress_cluster 每个后端运行的一行CLUSTER或VACUUM FULL,显示当前进度。请参阅第 28.4.4 节。
pg_stat_progress_basebackup 每个 WAL 发送者进程在一行中流式传输基本备份,显示当前进度。请参阅第 28.4.5 节。
pg_stat_progress_copy 每个后端运行一行COPY,显示当前进度。请参阅第 28.4.6 节。
pg_stat_replication 每个 WAL 发送方进程一行,显示有关复制到该发送方连接的备用服务器的统计信息。详情请参阅pg_stat_replication。
pg_stat_wal_receiver 只有一行,显示来自该接收器连接的服务器的 WAL 接收器的统计信息。详情请参阅pg_stat_wal_receiver。
pg_stat_subscription 每个订阅至少一行,显示有关订阅工作者的信息。详情请参阅pg_stat_subscription。
pg_stat_ssl 每个连接(常规和复制)一行,显示有关此连接上使用的 SSL 的信息。详情请参阅pg_stat_ssl。
pg_stat_gssapi 每个连接(常规和复制)一行,显示有关此连接上使用的 GSSAPI 身份验证和加密的信息。详情请参阅pg_stat_gssapi。
pg_stat_progress_analyze 每个运行的后端(包括 autovacuum 工作进程)一行ANALYZE,显示当前进度。请参阅第 28.4.1 节。
pg_stat_progress_create_index 每个后端运行的一行CREATE INDEX或REINDEX,显示当前进度。请参阅第 28.4.2 节。
pg_stat_progress_vacuum 每个运行的后端(包括 autovacuum 工作进程)一行VACUUM,显示当前进度。请参阅第 28.4.3 节。
pg_stat_progress_cluster 每个后端运行的一行CLUSTER或VACUUM FULL,显示当前进度。请参阅第 28.4.4 节。
pg_stat_progress_basebackup 每个 WAL 发送者进程在一行中流式传输基本备份,显示当前进度。请参阅第 28.4.5 节。
pg_stat_progress_copy 每个后端运行一行COPY,显示当前进度。请参阅第 28.4.6 节。
收集的统计数据视图
pg_stat_archiver 仅一行,显示有关 WAL 归档器进程活动的统计信息。详情请参阅pg_stat_archiver。
pg_stat_bgwriter 仅一行,显示有关后台编写器进程活动的统计信息。详情请参阅pg_stat_bgwriter。
pg_stat_wal 仅一行,显示有关 WAL 活动的统计信息。详情请参阅pg_stat_wal。
pg_stat_database 每个数据库一行,显示数据库范围的统计信息。详情请参阅pg_stat_database。
pg_stat_database_conflicts 每个数据库一行,显示有关由于与备用服务器上的恢复冲突而取消的查询的数据库范围统计信息。详情请参阅pg_stat_database_conflicts。
pg_stat_all_tables 当前数据库中每个表的一行,显示有关对该特定表的访问的统计信息。详情请参阅pg_stat_all_tables。
pg_stat_sys_tables 与 相同pg_stat_all_tables,但仅显示系统表。
pg_stat_user_tables 与 相同pg_stat_all_tables,但仅显示用户表。
pg_stat_xact_all_tables 与 类似pg_stat_all_tables,但计算当前事务中到目前为止采取的操作(尚未包含在pg_stat_all_tables相关视图中)。此视图中不存在活动行数和死行数以及清理和分析操作的列。
pg_stat_xact_sys_tables 与 相同pg_stat_xact_all_tables,但仅显示系统表。
pg_stat_xact_user_tables 与 相同pg_stat_xact_all_tables,但仅显示用户表。
pg_stat_all_indexes 当前数据库中每个索引的一行,显示有关对该特定索引的访问的统计信息。详情请参阅pg_stat_all_indexes。
pg_stat_sys_indexes 与 相同pg_stat_all_indexes,只是仅显示系统表上的索引。
pg_stat_user_indexes 与 相同pg_stat_all_indexes,但仅显示用户表上的索引。
pg_statio_all_tables 当前数据库中每个表的一行,显示有关该特定表的 I/O 的统计信息。详情请参阅pg_statio_all_tables。
pg_statio_sys_tables 与 相同pg_statio_all_tables,但仅显示系统表。
pg_statio_user_tables 与 相同pg_statio_all_tables,但仅显示用户表。
pg_statio_all_indexes 当前数据库中每个索引的一行,显示有关该特定索引的 I/O 的统计信息。详情请参阅pg_statio_all_indexes。
pg_statio_sys_indexes 与 相同pg_statio_all_indexes,只是仅显示系统表上的索引。
pg_statio_user_indexes 与 相同pg_statio_all_indexes,但仅显示用户表上的索引。
pg_statio_all_sequences 当前数据库中每个序列的一行,显示有关该特定序列的 I/O 的统计信息。详情请参阅pg_statio_all_sequences。
pg_statio_sys_sequences 与 相同pg_statio_all_sequences,但仅显示系统序列。(目前,未定义系统序列,因此该视图始终为空。)
pg_statio_user_sequences 与 相同pg_statio_all_sequences,只是仅显示用户序列。
pg_stat_user_functions 每个跟踪函数占一行,显示有关该函数执行的统计信息。详情请参阅pg_stat_user_functions。
pg_stat_xact_user_functions 与 类似pg_stat_user_functions,但仅计算当前事务期间的调用(尚未包含在 中pg_stat_user_functions)。
pg_stat_slru 每个 SLRU 一行,显示操作统计信息。详情请参阅pg_stat_slru。
pg_stat_replication_slots 每个复制槽一行,显示有关复制槽使用情况的统计信息。详情请参阅pg_stat_replication_slots。
pg_stat_bgwriter 仅一行,显示有关后台编写器进程活动的统计信息。详情请参阅pg_stat_bgwriter。
pg_stat_wal 仅一行,显示有关 WAL 活动的统计信息。详情请参阅pg_stat_wal。
pg_stat_database 每个数据库一行,显示数据库范围的统计信息。详情请参阅pg_stat_database。
pg_stat_database_conflicts 每个数据库一行,显示有关由于与备用服务器上的恢复冲突而取消的查询的数据库范围统计信息。详情请参阅pg_stat_database_conflicts。
pg_stat_all_tables 当前数据库中每个表的一行,显示有关对该特定表的访问的统计信息。详情请参阅pg_stat_all_tables。
pg_stat_sys_tables 与 相同pg_stat_all_tables,但仅显示系统表。
pg_stat_user_tables 与 相同pg_stat_all_tables,但仅显示用户表。
pg_stat_xact_all_tables 与 类似pg_stat_all_tables,但计算当前事务中到目前为止采取的操作(尚未包含在pg_stat_all_tables相关视图中)。此视图中不存在活动行数和死行数以及清理和分析操作的列。
pg_stat_xact_sys_tables 与 相同pg_stat_xact_all_tables,但仅显示系统表。
pg_stat_xact_user_tables 与 相同pg_stat_xact_all_tables,但仅显示用户表。
pg_stat_all_indexes 当前数据库中每个索引的一行,显示有关对该特定索引的访问的统计信息。详情请参阅pg_stat_all_indexes。
pg_stat_sys_indexes 与 相同pg_stat_all_indexes,只是仅显示系统表上的索引。
pg_stat_user_indexes 与 相同pg_stat_all_indexes,但仅显示用户表上的索引。
pg_statio_all_tables 当前数据库中每个表的一行,显示有关该特定表的 I/O 的统计信息。详情请参阅pg_statio_all_tables。
pg_statio_sys_tables 与 相同pg_statio_all_tables,但仅显示系统表。
pg_statio_user_tables 与 相同pg_statio_all_tables,但仅显示用户表。
pg_statio_all_indexes 当前数据库中每个索引的一行,显示有关该特定索引的 I/O 的统计信息。详情请参阅pg_statio_all_indexes。
pg_statio_sys_indexes 与 相同pg_statio_all_indexes,只是仅显示系统表上的索引。
pg_statio_user_indexes 与 相同pg_statio_all_indexes,但仅显示用户表上的索引。
pg_statio_all_sequences 当前数据库中每个序列的一行,显示有关该特定序列的 I/O 的统计信息。详情请参阅pg_statio_all_sequences。
pg_statio_sys_sequences 与 相同pg_statio_all_sequences,但仅显示系统序列。(目前,未定义系统序列,因此该视图始终为空。)
pg_statio_user_sequences 与 相同pg_statio_all_sequences,只是仅显示用户序列。
pg_stat_user_functions 每个跟踪函数占一行,显示有关该函数执行的统计信息。详情请参阅pg_stat_user_functions。
pg_stat_xact_user_functions 与 类似pg_stat_user_functions,但仅计算当前事务期间的调用(尚未包含在 中pg_stat_user_functions)。
pg_stat_slru 每个 SLRU 一行,显示操作统计信息。详情请参阅pg_stat_slru。
pg_stat_replication_slots 每个复制槽一行,显示有关复制槽使用情况的统计信息。详情请参阅pg_stat_replication_slots。
重点视图介绍:
28.2.3. pg_stat_activity
28.2.4. pg_stat_replication
28.2.5. pg_stat_replication_slots
28.2.6. pg_stat_wal_receiver
28.2.7. pg_stat_subscription
28.2.8. pg_stat_ssl
28.2.9. pg_stat_gssapi
28.2.10. pg_stat_archiver
28.2.11. pg_stat_bgwriter
28.2.12. pg_stat_wal
28.2.13. pg_stat_database
28.2.14. pg_stat_database_conflicts
28.2.15. pg_stat_all_tables
28.2.16. pg_stat_all_indexes
28.2.17. pg_statio_all_tables
28.2.18. pg_statio_all_indexes
28.2.19. pg_statio_all_sequences
28.2.20. pg_stat_user_functions
28.2.21. pg_stat_slru
28.2.3. pg_stat_activity
28.2.4. pg_stat_replication
28.2.5. pg_stat_replication_slots
28.2.6. pg_stat_wal_receiver
28.2.7. pg_stat_subscription
28.2.8. pg_stat_ssl
28.2.9. pg_stat_gssapi
28.2.10. pg_stat_archiver
28.2.11. pg_stat_bgwriter
28.2.12. pg_stat_wal
28.2.13. pg_stat_database
28.2.14. pg_stat_database_conflicts
28.2.15. pg_stat_all_tables
28.2.16. pg_stat_all_indexes
28.2.17. pg_statio_all_tables
28.2.18. pg_statio_all_indexes
28.2.19. pg_statio_all_sequences
28.2.20. pg_stat_user_functions
28.2.21. pg_stat_slru
28.2.22. 统计功能
28.3. 查看锁
实时锁视图:pg_locks
28.4. 进度报告
28.4.1. ANALYZE 进度报告
pg_stat_progress_analyze
28.4.2. CREATE INDEX 进度报告
pg_stat_progress_create_index
28.4.3. VACUUM 进度报告
pg_stat_progress_vacuum
28.4.4. CLUSTER Progress Reporting
pg_stat_progress_cluster
28.4.5. Base Backup Progress Reporting
pg_stat_progress_basebackup
28.4.6. COPY Progress Reporting
pg_stat_progress_copy
28.5 动态追踪
28.5.1. 为动态跟踪编译
28.5.2. 内置探头
28.5.3. 使用探针
28.5.4. 定义新探针
28.5.2. 内置探头
28.5.3. 使用探针
28.5.4. 定义新探针
收藏
收藏
0 条评论
下一页