华为云用户手册

  • STAT_SYS_INDEXES 显示当前节点pg_catalog、information_schema以及pg_toast模式中所有系统表的索引状态信息,如表1所示。 表1 STAT_SYS_INDEXES字段 名称 类型 描述 relid oid 此索引的表的OID。 indexrelid oid 索引的OID。 schemaname name 索引所在的Schema名。 relname name 索引的表名。 indexrelname name 索引名。 idx_scan bigint 该索引上执行的索引扫描次数。 idx_tup_read bigint 该索引上扫描返回的索引项数。 idx_tup_fetch bigint 使用该索引的简单索引扫描在原表中抓取的活跃行数。 last_updated timestamp with time zone 视图中该对象监控数据最后一次更新的时间。 父主题: Object
  • GS_RESPLAN_PDB_METRIC GS_RESPLAN_PDB_METRIC视图显示所有开启的PDB最近一分钟资源使用的统计数据。每个PDB一行数据。 当发生资源变更的时候,会存在used_shared_memory统计的共享缓存从0开始重新计数。随着业务运行,业务申请新的共享缓存used_shared_memory增加,统计恢复正常,期间对性能无影响。 表1 GS_RESPLAN_PDB_METRIC字段 名称 类型 描述 plan_name text 采集结束时生效的资源计划的名称。 pdb_name name 如果是CDB显示"cdb",如果是PDB显示PDB的name。 begin_time timestamp(3) without time zone 采集开始时间。 end_time timestamp(3) without time zone 采集结束时间。 interval_msec integer 本条统计的间隔时间,单位毫秒。 cpu_consumed_time integer 本段时间内的CPU使用时间,多个核的使用时间累加,单位是毫秒。 avg_cpu_utilization numeric(12,7) CPU使用率,计算公式为:cpu_consumed_time / interval_msec / CDB的CPU核数。 iops numeric(12,7) 本段时间内的IOPS。 used_dynamic_memory integer 采集结束时使用的动态内存,单位kB。 used_shared_memory integer 采集结束时使用的共享缓存,单位kB。 used_connections integer 当前正在使用的连接数。 父主题: 多租数据库
  • max_undo_workers 参数说明:异步回滚调用的undoworker线程数量,参数重启生效。 参数类型:整型 参数单位:无 取值范围:1 ~ 100 默认值:5 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:只影响同时并发进行异步回滚的最大线程数,设置过小可能会导致异步回滚速度慢,在系统中存在大量需要异步回滚的事务时,极低概率会影响 undo 回收的速度。当机器配置不高,系统中又存在大量需要异步回滚的事务时,该值设置过大会导致同时拉起的异步回滚线程数多,占用一定的系统资源。
  • immediate_analyze_threshold 参数说明:插入数据后自动做analyze的阈值。当一次新增数据量达到原有数据量的immediate_analyze_threshold倍,且原有数据和本次新增数据的总行数超过一百时,会自动触发一次analyze。 参数类型:整型 参数单位:无 取值范围:0 ~ 1000。当取值为0时,该功能关闭。 默认值:0 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:对数据变化较快且需要不断更新统计信息的表设置为较小值,对达到一定量数据后统计信息才产生较大波动的表设置为较大值。 设置不当的风险与影响:设置过大时,可能导致统计信息未能及时更新;设置过小时,可能导致统计信息分析的开销过大。 该功能只支持永久表和非日志表,不支持临时表。 同一表不会在10s内两次被自动触发analyze。
  • enable_dynamic_samplesize 参数说明:是否动态调整采样行数。对于超过一百万行的大表,收集统计信息时动态调整采样行数,提高统计信息准确性。该参数可在PDB级别设置。 参数类型:布尔型 参数单位:无 取值范围: on:表示该功能打开。 off:表示该功能关闭。 默认值:on。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:关闭后可能会降低统计信息准确性。 动态调整采样行数的功能仅支持绝对值采样。
  • default_statistic_granularity 参数说明:默认情况下,当未指定PARTITION_MODE时,指定默认收集哪些分区表分区级统计信息。对非分区表不生效。该参数可在PDB级别设置。 参数类型:枚举类型 参数单位:无 取值范围: all:收集整表、一级分区、二级分区的统计信息。 global:收集整表的统计信息。 partition:收集一级分区的统计信息。 global_and_partition:收集整表、一级分区的统计信息。 subpartition:收集二级分区的统计信息。 all_complete:收集整表、一级分区、二级分区的统计信息。 默认值:all。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。如果需要收集分区级统计信息,可根据实际需要设置,但可能会对ANALYZE的性能产生一定影响。 设置不当的风险与影响:需要在维护开销与统计信息准确性间权衡,设置不当可能导致一方代价过大。
  • enable_fast_numeric_agg 参数说明:该参数控制是否开启针对numeric数据类型的agg优化。多租场景下,该参数可在PDB级别设置。 参数类型:布尔型 参数单位:无 取值范围: on:表示开启numeric数据类型的agg优化。 off:表示不开启numeric数据类型的agg优化。 默认值:on。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:关闭后可能会导致对应场景查询性能下降。
  • enable_uniq_idx_a_compat 参数说明:控制复合唯一索引针对Null值是否兼容A数据库。多租场景下,该参数可在PDB级别设置。 参数类型:布尔型 参数单位:无 取值范围: on:表示兼容。 off:表示不兼容。 默认值:off。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。 设置建议:该参数仅在A兼容性的数据库中适用,建议使用默认值。 设置不当的风险与影响:设置不当可能会影响兼容性或导致查询规划开销增加。
  • stats_history_retention_time 参数说明:每个对象(包括表、列、分区、索引)的历史统计信息保留时间。每个对象在收集统计信息时会同时存入历史统计信息表中,当历史统计信息表中该对象的统计信息的保留时间超过该阈值后,再次收集新的统计信息时,已经超过保留时间的统计信息会被清理。 参数类型:浮点型 参数单位:天 取值范围:-1、0 ~ 365000,-1表示历史统计信息不因时间而清除。 默认值:31 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值,如果需要记录更早时间的历史版本的统计信息可以适当调大该参数,但可能会对analyze的性能产生一定影响。 设置不当的风险与影响:设置过大可能会对analyze的性能产生一定影响。
  • stats_history_record_limit 参数说明:每个对象(包括表、列、分区、索引)的历史统计信息保留数目上限。每个对象在收集统计信息时会同时存入历史统计信息表中,当历史统计信息表中该对象的统计信息数量达到该阈值,再次收集新的统计信息时,时间较早的统计信息会被清理。 参数类型:整型 参数单位:条 取值范围:0 ~ 100 默认值:10 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值,如果需要记录更多历史版本的统计信息可以适当调大该参数,但可能会对analyze的性能产生一定影响。 设置不当的风险与影响:设置过大可能会对analyze的性能产生一定影响。
  • enable_invisible_indexes 参数说明:设置优化器是否可以使用不可见索引。该参数可在PDB级别设置。 索引在被设置为不可见状态后,可能会对查询语句的性能产生影响。此时若不想变更索引可见性状态,且打算使用不可见索引,可设置enable_invisible_indexes参数为on。 参数类型:布尔型 参数单位:无 取值范围: on:优化器可以使用不可见索引。 off:优化器不可以使用不可见索引。 默认值:off。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:使用不可见索引但未开启此参数时,可能导致忽略不可见索引,因此可能有更优计划未被考虑。
  • enable_auto_explain 参数说明:控制是否开启自动打印执行计划,该参数可用来定位慢存储过程或慢查询。该参数可在PDB级别设置。 参数类型:布尔型 参数单位:无 取值范围: on:表示开启。 off:表示关闭。 默认值:off。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值,若需要查看执行计划,则开启,但会降低当前系统性能。 设置不当的风险与影响:开启后可能会降低当前系统性能。
  • enable_indexscan_optimization 参数说明:控制是否对astore存储引擎下的btree索引扫描(IndexScan和IndexOnlyScan)进行优化。该参数可在PDB级别设置。 参数类型:布尔型 参数单位:无 取值范围: on:表示使用。 off:表示不使用。 默认值:on。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:关闭可能会导致对应场景查询性能下降。
  • enable_force_vector_engine 参数说明:对于支持向量化的执行器算子,如果其子节点是非向量化的算子,通过设置此参数为on,强制生成向量化的执行计划。该参数可在PDB级别设置。 参数类型:布尔型 参数单位:无 取值范围: on:表示可以向量化的算子强制生成向量化。 off:表示由向量化算子优化器决定是否向量化。 默认值:off。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值,在向量化业务场景下推荐打开。 设置不当的风险与影响:启用该参数可能导致查询性能劣化。
  • enable_startwith_debug 参数说明:该参数控制是否显示start with/connect by用于debug的信息,打开该参数可以显示start with/connect by特性所有涉及的尾列相关信息。该参数可在PDB级别设置。 参数类型:布尔型 参数单位:无 取值范围: on:表示开启。 off:表示关闭。 默认值:off。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值,在问题定位时打开。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • auto_explain_log_min_duration 参数说明:控制自动打印执行计划的耗时阈值,整体耗时大于auto_explain_log_min_duration的执行计划才会被打印。比如该参数设置为0时,所有执行过的执行计划都会输出;设置为3000时,单次语句执行耗时超过3000毫秒的所有执行的执行计划会输出。该参数可在PDB级别设置。 参数类型:整型 参数单位:毫秒(ms) 取值范围:0 ~ 2147483647 默认值:0。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。例如,设置为100,不带单位,表示100ms;设置为2min,带单位,表示2min。取值如果要带单位,必须为ms、s、min、h、d。 设置建议:推荐使用默认值。可根据业务需要调整数值,以输出慢查询语句。 设置不当的风险与影响:设置过小可能会导致输出内容过多。
  • auto_explain_level 参数说明:控制自动打印执行计划的日志等级。该参数可在PDB级别设置。 参数类型:枚举类型 参数单位:无 取值范围: log:表示在日志中打印执行计划。 notice:表示以提示的形式打印出计划。 默认值:log。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • enable_inner_unique_opt 参数说明:控制是否对嵌套循环连接、哈希连接、排序归并连接进行Inner Unique优化,即在连接条件中内表对应的属性满足唯一性约束的情况下,是否减少匹配次数。该参数可在PDB级别设置。 参数类型:布尔型 参数单位:无 取值范围: on:表示使用。 off:表示不使用。 默认值:on。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:关闭可能会导致对应场景查询性能下降。
  • enable_hypo_index 参数说明:该参数控制优化器执行EXPLAIN命令时,是否创建虚拟索引。该参数可在PDB级别设置。 参数类型:布尔型 参数单位:无 取值范围: on:表示在执行EXPLAIN命令时,创建虚拟索引。 off:表示在执行EXPLAIN命令时,不创建虚拟索引。 默认值:off。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值,在评估创建索引是否能带来性能提升时可开启此参数。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • codegen_cost_threshold 参数说明:由于LLVM编译生成最终的可执行机器码需要一定时间,因此只有当实际执行的代价大于编译生成机器码所需要的代价和优化后的执行代价之和时,利用代码生成才有收益。codegen_cost_threshold标识代价的阈值,当执行估算代价大于该代价时,使用LLVM优化。codegen使用执行算子的plan_rows作为代价与codegen_cost_threshold进行比较,plan_rows的值可以通过explain命令查看。该参数可在PDB级别设置。 参数类型:整型 参数单位:无 取值范围:0 ~ 2147483647 默认值:100000。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值,在需要调整codegen机制的触发阈值时再做修改。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • scan_wait_for_bloom_filter 参数说明:扫描算子是否等待BloomFilter创建完成。多租场景下,该参数可在PDB级别设置。 参数类型:布尔型 参数单位:无 取值范围: on:表示算子必须等待BloomFilter创建完成再开始扫描。 off:表示算子无须等待BloomFilter创建完成即可开始扫描。待BloomFilter创建完成后,若扫描还未完成,会在下一个扫描的batch中开始使用BloomFilter。 默认值:on。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。该参数仅在另一个参数enable_bloom_filter打开的情况下生效。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • enable_extrapolation_stats 参数说明:对于日期类型,标识是否允许基于历史统计信息使用推理估算的逻辑。若使用该逻辑,对于未及时收集统计信息的表,可以提高估算的准确性,但也存在推理错误导致估算过大的可能。在日期类型数据定期插入的场景下,需要开启此开关。该参数可在PDB级别设置。 参数类型:布尔型 参数单位:无 取值范围: on:表示允许基于历史统计信息使用推理估算的逻辑。 off:表示不允许基于历史统计信息使用推理估算的逻辑。 默认值:off。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于SUSET类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。在启用enable_extrapolation_stats之前,应该评估数据的变化频率和查询模式。如果数据变化很快,而且查询优化器经常需要处理不完整的统计信息,启用这个参数可能会有所帮助。在正式启用之前,应该在测试环境中进行充分的测试,以确定启用外推统计信息对性能的具体影响。启用外推统计信息后,应密切监控查询性能和数据库的统计信息准确性,确保没有引入性能问题或导致统计信息的准确性大幅下降。 设置不当的风险与影响:打开后可能会存在推理错误导致查询性能下降的可能。
  • enable_bloom_filter 参数说明:标识是否允许使用BloomFilter优化。该参数可在PDB级别设置。 参数类型:布尔型 参数单位:无 取值范围: on:表示允许使用BloomFilter优化。 off:表示不允许使用BloomFilter优化。 默认值:on。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。 设置不当的风险与影响:数据量较小时,使用BloomFilter优化可能会带来性能下降。
  • query_dop 参数说明:用户自定义的查询并行度。开启SMP功能后,系统会使用设定的并行度执行。该参数可在PDB级别设置。 参数类型:整型 参数单位:无 取值范围:1 ~ 64。1表示关闭并行查询。 默认值:1。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值,在CPU、内存、I/O和网络带宽等资源充足的情况下,并行度越高,性能提升效果越好。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。 在开启并行查询后,请保证系统CPU、内存、网络等资源充足,以达到最佳效果。
  • enable_analyze_check 参数说明:标识在生成计划的时候,对于在pg_class中reltuples和relpages均为0的表,是否允许检查这些表有没有曾进行过统计信息的收集。该参数可在PDB级别设置。 参数类型:布尔型 参数单位:无 取值范围: on:表示允许检查。 off:表示不允许检查。 默认值:off。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于SUSET类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。启用检查可能会带来计划生成的开销,但会确保是否进行过统计信息的收集;如果确定大多数在pg_class中reltuples和relpages均为0的表无需额外收集统计信息,可保持关闭。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • enable_sonic_optspill 参数说明:标识是否对面向列的hash表设计的Hash Join算子进行下盘文件数优化。该参数打开时,在Hash Join算子下盘文件较多的时候,下盘文件数不会显著增加。该参数可在PDB级别设置。 参数类型:布尔型 参数单位:无 取值范围: on:表示优化面向列的hash表设计的Hash Join算子的下盘文件数。 off:表示不优化面向列的hash表设计的Hash Join算子的下盘文件数。 默认值:on。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:关闭可能会导致该场景下查询性能劣化。
  • plan_cache_mode 参数说明:标识在prepare语句中,选择生成执行计划的策略。该参数可在PDB级别设置。 参数类型:枚举类型 参数单位:无 取值范围:auto、force_generic_plan、force_custom_plan auto:表示由优化器自动选择custom plan或者generic plan。 force_generic_plan:表示强制走generic plan(软解析)。generic plan是指对于prepare语句生成计划,该计划策略会在执行execute语句的时候把参数bind到plan中,然后执行计划。这种方案的优点是每次执行可以省去重复的优化器开销;缺点是当bind参数字段上数据存在倾斜时该计划可能不是最优的,部分bind参数场景下执行性能较差。bind会绑定第一次传入的参数类型,如果同一占位符两次传入的参数类型不一致会导致报错。 force_custom_plan:表示强制走custom plan(硬解析)。custom plan是指对于prepare语句,在执行execute的时候,把execute语句中的参数嵌套到语句之后生成的计划。custom plan会根据execute语句中具体的参数生成计划,这种方案的优点是每次都按照具体的参数生成优选计划,执行性能比较好;缺点是每次执行前都需要重新生成计划,存在大量的重复的优化器开销。 此参数只对prepare语句生效,一般用在prepare语句中参数化字段存在比较严重的数据倾斜的场景下。 默认值:auto。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。 设置建议:根据实际业务场景进行设置。 设置不当的风险与影响:设置不当可能会导致计划生成开销增加或计划生成质量下降。
  • hashagg_table_size 参数说明:用于设置执行HASH JOIN操作时HASH表的大小。该参数可在PDB级别设置。 参数类型:整型 参数单位:无 取值范围:0 ~ 1073741823,其中0表示数据库将根据需要自动调整HASH表的大小。 默认值:0。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。在实际应用中,如果遇到特定的查询场景,比如处理大量数据的聚合操作,可能需要手动调整此参数以优化性能。 设置不当的风险与影响:增加HASH表的大小可以减少HASH AGG操作中的磁盘I/O,因为更多的数据可以保留在内存中。然而,如果HASH表大小设置过大,可能会占用过多内存,导致内存不足。如果设置过小,可能无法有效地利用内存,导致更多的磁盘I/O操作,从而降低查询速度。
  • enable_codegen 参数说明:标识是否允许开启代码生成优化,目前代码生成使用的是LLVM优化。该参数可在PDB级别设置。 参数类型:布尔型 参数单位:无 取值范围: on:表示允许开启代码生成优化。 off:表示不允许开启代码生成优化。 默认值:on。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:若关闭该参数,则无法在重表达式查询场景获得codegen带来的性能提升。
  • codegen_compile_thread_num 参数说明:该参数用于设置Codegen编译线程的线程数量。 参数类型:整型 参数单位:无 取值范围:1 ~ 8 默认值:1 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值,当业务的并发量较大且业务的性能瓶颈在表达式执行流程时再做修改。 设置不当的风险与影响:线程数量设置过多,可能会导致系统性能下降。但当业务并发量较大时,可适当调大线程数以提升吞吐性能。
共100000条