18.9. 运行时统计
18.9.1. 查询和索引统计收集器
下面的参数控制服务器范围的统计搜集特性。如果启用了统计搜集, 那么生成的数据可以通过pg_stat
和 pg_statio
系统视图家族访问。 参见Chapter 27获取更多信息。
track_activities
(boolean
)
统计每个会话执行的命令及其开始执行的时间。这个选项缺省是开启的。 请注意即使把它打开,这个信息也不是所有用户都可见的, 只有超级用户和会话的所有者才能看到;因此它不应该是个安全漏洞。 只有超级用户可以改变这个设置。
track_activity_query_size
(integer
)
指定跟踪当前执行命令的预留字节数, 为了每个活动会话,以及pg_stat_activity
.query
字段。 默认值是1024。这个参数只能在服务器启动时设置。
track_counts
(boolean
)
打开数据库活动的统计收集。此参数缺省是开启的,因为自动清理守护进程需要收集信息。 只有超级用户可以更改此设置。
track_io_timing
(boolean
)
启动数据库定时I/O调用。此参数缺省是关闭的,因为它会反复查询操作系统当前的时间, 这可能会导致某些平台的显著开销。 您可以使用pg_test_timing工具测量系统上的定时开销。 在EXPLAIN的输出中通过, pg_stat_statements使用BUFFERS
选项时。 I/O时序信息显示在pg_stat_database上, 只有超级用户才能更改此设置。
track_functions
(enum
)
启用函数调用计数和时间跟踪。指定pl
仅跟踪过程语言函数, all
跟踪SQL和C语言函数。 默认是none
,禁用函数统计跟踪。 只有超级用户可以更改此设置。
Note: 足够简单的以便"内联"到调用查询的SQL语言函数将不被跟踪, 而不管这些设置。
update_process_title
(boolean
)
服务器每收到一个新的SQL命令就更新进程标题。 进程标题可以通过ps
命令或Windows下的进程管理器查看。 只有超级用户可以改变这个设置。
stats_temp_directory
(string
)
设置存储临时统计数据的目录。这可以是相对于数据目录的相对路径或绝对路径。 缺省是pg_stat_tmp
。 指向基于RAM文件系统将减少物理I/O要求,并可能导致性能提升。 此参数只能在postgresql.conf
文件或者服务器命令行上设置。
18.9.2. 统计监控
log_statement_stats
(boolean
)
log_parser_stats
(boolean
)
log_planner_stats
(boolean
)
log_executor_stats
(boolean
)
对每条查询,向服务器日志里输出相应模块的性能统计。 这是原始的剖析工具。类似于Unix getrusage()
操作系统工具。 log_statement_stats
报告总的语言统计, 而其它的报告针对每个模块的统计。log_statement_stats
不能和其它任何针对每个模块统计的选项一起打开。所有这些选项都是缺省关闭的。 只有超级用户才能修改这些设置。