
# 查询和索引统计收集器
查询和索引统计收集器负责收集数据库系统运行中的统计数据，如在一个表和索引上进行了多少次插入与更新操作、磁盘块的数量和元组的数量、每个表上最近一次执行清理和分析操作的时间等。可以通过查询系统视图pg_stats和pg_statistic查看统计数据。下面的参数设置服务器范围内的统计收集特性。
#### track_activities
**参数说明：**控制是否收集每个会话中当前正在执行命令的统计数据。对于存储过程，打开该参数后，可以通过pg_stat_activity视图看到存储过程内正在执行的perform语句、调用存储过程语句、存储过程内的SQL语句、OPEN CURSOR语句。
**参数类型：**布尔型
**参数单位：**无
**取值范围：**
- on：表示开启收集功能。
- off：表示关闭收集功能。
**默认值：**on
**设置方式：** 该参数属于SUSET类型参数，请参考[表1](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002527826790__zh-cn_topic_0000002558055361_zh-cn_topic_0000002338364610_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**推荐使用默认值。
**设置不当的风险与影响：**该参数设置为off会影响存储引擎空间回收能力，导致空间膨胀。
#### track_counts
**参数说明：**控制是否收集数据库活动的统计数据。在AutoVacuum自动清理线程中选择清理的数据库时，需要数据库的统计数据，故默认值设置为on。
**参数类型：**布尔型
**参数单位：**无
**取值范围：**
- on：表示开启收集功能。
- off：表示关闭收集功能。
**默认值：**on
**设置方式：** 该参数属于SUSET类型参数，请参考[表1](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002527826790__zh-cn_topic_0000002558055361_zh-cn_topic_0000002338364610_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**推荐使用默认值。
**设置不当的风险与影响：**该参数设置为off会影响存储引擎空间回收能力，导致空间膨胀。
#### track_procedure_sql
**参数说明：**该参数控制pg_stat_activity系统表中的query列是否同时打印该存储过程中正在执行的SQL语句。
**参数类型** **：**布尔型
**参数单位** **：**无
**取值范围：**
- on：表示调用存储过程时，pg_stat_activity的query列会同时打印存储过程正在执行的语句。
- off：表示调用存储过程时，pg_stat_activity的query列只打印存储过程调用语句。
**默认值：**on
**设置方式** **：** 该参数属于USERSET类型参数，请参考[表1](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002527826790__zh-cn_topic_0000002558055361_zh-cn_topic_0000002338364610_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议** **：**推荐使用默认值。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
#### track_io_timing
**参数说明：**控制是否收集数据库I/O调用时序的统计数据。I/O时序统计数据可以在pg_stat_database中查询。开启该参数时，收集器会在当前时间重复查询操作系统的信息，这可能会引起某些平台的重大开销，故默认值设置为off。
**参数类型：**布尔型
**参数单位：**无
**取值范围：**
- on：表示开启收集功能。
- off：表示关闭收集功能。
**默认值：**off
**设置方式：** 该参数属于SUSET类型参数，请参考[表1](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002527826790__zh-cn_topic_0000002558055361_zh-cn_topic_0000002338364610_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议** **：**推荐使用默认值。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
#### track_functions
**参数说明：**控制是否收集函数的调用次数和调用耗时的统计数据。
![](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
当SQL语言函数设置为调用查询的"内联"函数时，不管是否开启该参数，这些SQL语言函数都无法被追踪到。
**参数类型：**枚举类型
**参数单位：**无
**取值范围：**
- pl：表示只追踪过程语言函数。
- all：表示追踪SQL语言函数。
- none：表示关闭函数追踪功能。
**默认值：**none
**设置方式：** 该参数属于SUSET类型参数，请参考[表1](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002527826790__zh-cn_topic_0000002558055361_zh-cn_topic_0000002338364610_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议** **：**推荐使用默认值。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
#### track_activity_query_size
**参数说明：** 用于跟踪每一个活动会话中当前正在执行命令的字节数。当参数[track_stmt_parameter](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-10-0321.html#ZH-CN_TOPIC_0000002527986770__zh-cn_topic_0000002526896652_zh-cn_topic_0000002338524338_section182751539319)设置为off时，如果实际命令字节数大于该值，会进行截断。
**参数类型：**整型
**参数单位：**字节（byte）
**取值范围：**100 \~ 102400
**默认值：**1024
**设置方式：** 该参数属于POSTMASTER类型参数，请参考[表1](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002527826790__zh-cn_topic_0000002558055361_zh-cn_topic_0000002338364610_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**根据实际业务场景进行设置。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
#### update_process_title
**参数说明：**控制是否收集每次服务器因接收到一个新的SQL语句而产生的线程名称更新的统计数据。
线程名称可以通过ps命令进行查看，在Windows下通过任务管理器查看。
**参数类型：**布尔型
**参数单位：**无
**取值范围：**
- on：表示开启收集功能。
- off：表示关闭收集功能。
**默认值：**off
**设置方式：**该参数属于INTERNAL类型参数，为固定参数，用户无法修改此参数，只能查看。
**设置建议** **：**该参数不允许用户进行设置，只能查看。
**设置不当的风险与影响：**无
#### stats_temp_directory
**参数说明：**设置存储临时统计数据的目录，仅sysadmin用户可以访问。
![](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
将该参数设置为一个基于RAM的文件系统目录会减少实际的I/O开销并提升其性能。
**参数类型：**字符串
**参数单位：**无
**取值范围：**合法的目录。
**默认值：**"pg_stat_tmp"
**设置方式：** 该参数属于SIGHUP类型参数，请参考[表1](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002527826790__zh-cn_topic_0000002558055361_zh-cn_topic_0000002338364610_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议** **：**推荐使用默认值。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
#### enable_gsstat_cache
**参数说明：**是否对PgStat函数启用缓存加速。
PgStat函数包含：pg_stat_get_numscans、pg_stat_get_tuples_returned、pg_stat_get_tuples_fetched、pg_stat_get_tuples_inserted、pg_stat_get_tuples_updated、pg_stat_get_tuples_deleted、pg_stat_get_tuples_hot_updated、pg_stat_get_live_tuples、pg_stat_get_dead_tuples、pg_stat_get_autovacuum_count、pg_stat_get_autoanalyze_count、pg_stat_get_blocks_fetched、pg_stat_get_blocks_hit、pg_timestamp stat_get_last_autoanalyze_time、pg_timestamp stat_get_last_autovacuum_time、pg_timestamp stat_get_last_updated。
**参数类型：**布尔型
**参数单位：**无
**取值范围：**
- on：表示针对PgStat函数开启缓存加速功能。
- off：表示针对PgStat函数关闭缓存加速功能。
**默认值：**off
**设置方式：** 该参数属于SUSET类型参数，请参考[表1](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002527826790__zh-cn_topic_0000002558055361_zh-cn_topic_0000002338364610_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议** **：**当在该参数关闭的情况下，使用上述函数的PgStat的相关视图查询比较慢时，建议开启开启该参数。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
#### track_thread_wait_status_interval
**参数说明：**用来定期收集thread状态信息的时间间隔。
**参数类型：**整型
**参数单位：**min（分钟）
**取值范围：**0 \~ 1440
**默认值：**30
**设置方式：** 该参数属于SUSET类型参数，请参考[表1](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002527826790__zh-cn_topic_0000002558055361_zh-cn_topic_0000002338364610_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。例如，设置为100，不带单位，表示100min；设置为1d，带单位，表示1d。取值如果要带单位，必须为min、h、d。
**设置建议** **：**推荐使用默认值。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
#### enable_save_datachanged_timestamp
**参数说明：**确定是否收集insert/update/delete、exchange/truncate/drop partition操作对表数据改动的时间。
**参数类型：**布尔型
**参数单位：**无
**取值范围：**
- on：表示允许收集相关操作对表数据改动的时间。
- off：表示禁止收集相关操作对表数据改动的时间。
**默认值：**on
**设置方式：** 该参数属于USERSET类型参数，请参考[表1](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002527826790__zh-cn_topic_0000002558055361_zh-cn_topic_0000002338364610_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议** **：**推荐使用默认值。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
#### plan_collect_thresh
**参数说明：**控制收集每个会话中当前正在执行计划的统计数据。
**参数类型：**整型
**参数单位：**无
**取值范围：**-1 \~ 2147483647
- -1：表示不收集运行态计划。
- 0：表示若当前SQL执行时间大于等于GUC参数log_min_duration_statement指定值，且计划中所有算子处理的tuple数量和大于等于10000时，开始收集运行态计划；且后续每当所有算子处理tuple数量的和的增量超过10000时，进行一次收集。
- \>0：表示当计划中所有算子增量返回tuple数量之和大于等于该值时，收集一次运行态计划。
**默认值：**0
**设置方式：** 该参数属于SUSET类型参数，请参考[表1](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002527826790__zh-cn_topic_0000002558055361_zh-cn_topic_0000002338364610_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议** **：**推荐使用默认值。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
#### track_sql_count
**参数说明：**控制是否对每个会话中当前正在执行的SELECT、INSERT、UPDATE、DELETE、MERGE INTO语句进行计数。
**参数类型：**布尔型
**参数单位：**无
**取值范围：**
- on：表示开启计数功能。
- off：表示关闭计数功能。
**默认值：**on
**设置方式：** 该参数属于SUSET类型参数，请参考[表1](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-10-0254.html#ZH-CN_TOPIC_0000002527826790__zh-cn_topic_0000002558055361_zh-cn_topic_0000002338364610_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议** **：**推荐使用默认值。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
![](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
当参数关闭时，查询视图的结果为0行。
