文档首页 > > 开发指南> 配置GUC参数> 开发人员选项参数

开发人员选项参数

分享
更新时间: 2019/11/12 GMT+08:00

enable_fast_query_shipping

参数说明:控制查询优化器是否使用分布式框架。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:布尔型

  • on表示执行计划在CN和DN上各自生成。
  • off表示使用分布式框架,即执行计划在CN上生成,然后发送到DN中执行。

默认值:on

enable_trigger_shipping

参数说明:控制触发器场景是否允许将触发器下推到DN执行。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:布尔型

  • on表示允许将触发器下推到DN执行。
  • off表示不允许将触发器下推到DN执行,在CN执行。

默认值:on

enable_remotejoin

参数说明:设置是否允许连接操作计划下推到DN执行。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:布尔型

  • on表示允许连接操作计划下推到DN执行。
  • off表示不允许连接操作计划下推到DN执行。

默认值:on

enable_remotegroup

参数说明:设置是否允许group by与aggregates执行计划下推到DN执行。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:布尔型

  • on表示允许group by与aggregates执行计划下推到DN执行。
  • off表示不允许group by与aggregates执行计划下推到DN执行。

默认值:on

enable_remotelimit

参数说明:设置是否允许LIMIT子句执行计划下推到DN执行。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:布尔型

  • on表示允许LIMIT子句执行计划下推到DN执行。
  • off表示不允许LIMIT子句执行计划下推到DN执行。

默认值:on

enable_remotesort

参数说明:设置是否允许ORDER BY子句操作计划下推到DN执行。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:布尔型

  • on表示允许ORDER BY子句操作计划下推到DN执行。
  • off表示不允许ORDER BY子句操作计划下推到DN执行。

默认值:on

debug_assertions

参数说明:控制打开各种断言检查。能够协助调试,当遇到奇怪的问题或者崩溃,请把此参数打开,因为它能暴露编程的错误。要使用这个参数,必须在编译DWS的时候定义宏USE_ASSERT_CHECKING(通过configure选项 --enable-cassert完成)。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:布尔型

  • on表示打开断言检查。
  • off表示不打开断言检查。

当启用断言选项编译DWS时,debug_assertions缺省值为on 。

默认值:off

distribute_test_param

参数说明:控制分布式测试框架打桩点是否生效。通常开发人员在进行故障注入测试时会在代码中预埋一些打桩点,使用唯一的名称进行标识,使用此参数可以控制代码中预埋的打桩点是否生效。参数采用逗号分隔的三元组形式,分别指定线程级别、测试桩名称和注入故障的错误级别。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:字符串,任一个已预埋的测试桩名称。

默认值:-1, default, default

ignore_checksum_failure

参数说明: 设置读取数据时是否忽略校验信息检查失败(但仍然会告警),继续执行。该参数仅在enable_crc_check = on时有效。继续执行可能导致崩溃,传播或隐藏损坏数据,无法从远程节点恢复数据及其他严重问题。不建议用户修改设置。

该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:布尔型

  • on表示忽略数据校验错误。
  • off表示数据校验错误正常报错。

默认值:off

enable_colstore

参数说明:创建表时,当不指定存储方式时,默认创建为列存表。属于测试参数,禁止用户启用。

该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:布尔型

默认值:off

enable_force_vector_engine

参数说明:对于支持向量化的执行器算子,如果其子节点是非向量化的算子,通过设置此参数为on,强制生成向量化的执行计划。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:布尔型

默认值:off

enable_csqual_pushdown

参数说明:进行查询时,是否要将过滤条件下推,进行Rough Check。

该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:布尔型

  • on表示进行查询时,要将过滤条件下推,进行Rough Check。
  • off表示进行查询时,不要将过滤条件下推,进行Rough Check。

默认值:on

explain_dna_file

参数说明:指定explain_perf_mode为run,导出的csv信息的目标文件。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

这个参数的取值必须是绝对路径加上.csv格式的文件名。

取值范围:字符串

默认值:NULL

explain_perf_mode

参数说明:此参数用来指定explain的显示格式。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:normal、pretty、summary、run

  • normal:代表使用默认的打印格式。
  • pretty:代表使用DWS改进后的新显示格式。新的格式层次清晰,计划包含了plan node id,性能分析简单直接。
  • summary:是在pretty的基础上增加了对打印信息的分析。
  • run:在summary的基础上,将统计的信息输出到csv格式的文件中,以便于进一步分析。

默认值:pretty

trace_notify

参数说明:为LISTEN和NOTIFY命令生成大量调试输出。client_min_messageslog_min_messages级别必须是DEBUG1或者更低时,才能把这些输出分别发送到客户端或者服务器日志。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:布尔型

  • on表示打开输出功能。
  • off表示关闭输出功能。

默认值:off

trace_sort

参数说明:控制是否在日志中打印排序操作中的资源使用相关信息。这个选项只有在编译DWS的时候定义了TRACE_SORT宏的时候才可用,不过目前TRACE_SORT是由缺省定义的。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:布尔型

  • on表示打开控制功能。
  • off表示关闭控制功能。

默认值:off

zero_damaged_pages

参数说明:控制检测导致DWS报告错误的损坏的页头,终止当前事务。

该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:布尔型

设置为on时,会导致系统报告一个警告,把损坏的页面填充为零然后继续处理。这种行为会破坏数据,也就是所有在已经损坏页面上的行记录。但是它允许绕开坏页面然后从表中尚存的未损坏页面上继续检索数据行。因此它在因为硬件或者软件错误导致的崩溃中进行恢复是很有用的。通常不应该把它设置为on,除非不需要从崩溃的页面中恢复数据。

默认值:off

replication_test

参数说明:此参数用于数据复制的内部功能测试。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:布尔型

  • on表示启用功能测试。
  • off表示关闭功能测试。

默认值:off

cost_param

参数说明:该参数用于控制在特定的客户场景中,使用不同的估算方法使得估算值与真实值更接近。此参数可以同时控制多种方法,与某一方法对应的位做与操作,不为0表示该方法被选择。

当cost_param & 1 不为0,表示对于求不等值连接选择率时选择一种改良机制,此方法在自连接(两个相同的表之间连接)的估算中更加准确,V300R002C00版本开始,已弃用cost_param & 1 不为0时的路径,默认选择更优的估算公式;

当cost_param & 2 不为0,表示求多个过滤条件(Filter)的选择率时,选择最小的作为总的选择率,而非两者乘积,此方法在过滤条件的列之间关联性较强时估算更加准确;

当cost_param & 4 不为0,表示在进行stream节点估算时,选用调试模型,该模型不推荐用户使用。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:整型,1~INT_MAX

默认值:0

convert_string_to_digit

参数说明:设置隐式转换优先级,是否优先将字符串转为数字。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:布尔型

  • on表示优先将字符串转为数字。
  • off表示不优先将字符串转为数字。

默认值:on

请谨慎调整该参数,调整该参数会修改内部数据类型转换规则并可能导致不可预期的行为。

nls_timestamp_format

参数说明:设置时间戳默认格式。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:字符串

默认值:DD-Mon-YYYY HH:MI:SS.FF AM

enable_partitionwise

参数说明:分区表连接操作是否选择智能算法。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:布尔型

  • on表示选择智能算法。
  • off表示不选择智能算法。

默认值:off

max_user_defined_exception

参数说明:异常最大个数,默认值不可更改。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:整型

默认值:1000

datanode_strong_sync

参数说明:目前该参数已废弃,无实际意义。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:布尔型

  • on表示启用stream节点间强同步。
  • off表示不启用stream节点间强同步。

默认值:off

enable_global_stats

参数说明:标识当前统计信息模式,为便于进行全局统计信息生成计划和单DN统计信息计划对比使用,默认创建为全局统计信息模式。属于测试参数,禁止用户启用。

该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:布尔型

  • on/true表示全局统计信息。
  • off/false表示单DN统计信息。

默认值:on

enable_fast_numeric

参数说明:标识是否开启Numeric类型数据运算优化。Numeric数据运算是较为耗时的操作之一,通过将Numeric转化为int64/int128类型,提高Numeric运算的性能。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:布尔型

  • on/true表示开启Numeric优化。
  • off/false表示关闭Numeric优化。

默认值:on

rewrite_rule

参数说明:标识开启的可选查询重写规则。有部分查询重写规则是可选的,开启它们并不能总是对查询效率有提升效果。在特定的客户场景中,通过此GUC参数对查询重写规则进行设置,使得查询效率最优。

此参数可以控制查询重写规则的组合,比如有多个重写规则:rule1、rule2、rule3、rule4。可以设置:

set rewrite_rule=rule1;          --启用查询重写规则rule1
set rewrite_rule=rule2,rule3;    --启用查询重写规则rule2和rule3
set rewrite_rule=none;           --关闭所有可选查询重写规则

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:字符串

  • none:不使用任何可选查询重写规则
  • lazyagg:使用Lazy Agg查询重写规则(消除子查询中的聚集运算)
  • magicset : 使用Magic Set查询重写规则(从主查询中下推条件到子查询)

默认值:magicset

enable_compress_spill

参数说明:标识是否开启下盘压缩功能。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:布尔型

  • on/true表示开启下盘优化。
  • off/false表示关闭下盘优化。

默认值:on

analysis_options

参数说明:通过开启对应选项中所对应的功能选项使用相应的定位功能,包括数据校验,性能统计等,参见取值范围中的选项说明。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:字符串

  • LLVM_COMPILE表示在explain performance显示界面中显示每个线程的codegen编译时间。该取值仅适用于x86平台。
  • HASH_CONFLICT表示在DN进程的pg_log目录中的log日志中显示hash表的统计信息,包括hash表大小,hash链长,hash冲突情况。
  • STREAM_DATA_CHECK表示对网络传输前后的数据进行CRC校验。

默认值:off(ALL),不开启任何定位功能。

resource_track_log

参数说明:控制自诊断的日志级别。目前仅对多列统计信息进行控制。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:字符串

  • summary 显示简略的诊断信息。
  • detail 显示详细的诊断信息。

目前这两个参数值只在显示多列统计信息未收集的告警的情况下有差别,summary不显示未收集多列统计信息的告警,detail会显示这类告警。

默认值:summary

pljava_vmoptions

参数说明:用户自定义设置PL/Java函数所使用的JVM虚拟机的启动参数。

该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:字符串, 支持:

  • JDK8 JVM启动参数
  • JDK8 JVM系统属性参数(以–D开头如–Djava.ext.dirs)
  • 用户自定义参数(以–D开头,如–Duser.defined.option)

如果用户在pljava_vmoptions中设置参数不满足上述取值范围,会在使用PL/Java语言函数时报错。此参数的详细说明参见PL/Java自定义函数

默认值:

enable_pbe_optimization

参数说明:设置优化器是否对以PBE(Parse Bind Execute)形式执行的语句进行查询计划的优化。

该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:布尔型。

  • on表示优化器将优化PBE语句的查询计划。
  • off表示不使用优化。

默认值:on

enable_light_proxy

参数说明:设置优化器是否对简单查询在CN上优化执行。

该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:布尔型。

  • on表示优化器将优化CN上简单查询的执行。
  • off表示不使用优化。

默认值:on

enable_parallel_ddl

参数说明:控制多CN对同一数据库对象是否能安全的并发执行DDL操作。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:布尔型

  • on表示可以安全的并发执行DDL操作,不会出现分布式死锁。
  • off表示不能安全的并发执行DDL操作,可能会出现分布式死锁。

默认值:on

show_acce_estimate_detail

参数说明:在DWS集群使用加速集群场景下(即acceleration_with_compute_pool设置为on),控制explain命令是否显示用于评估执行计划下推到加速集群的评估信息。评估信息一般用于运维人员在维护工作中使用,因此该参数默认关闭,此外为了避免这些信息干扰正常的explain信息显示,只有在explain命令的verbose选项打开的情况下才显示评估信息。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:布尔型

  • on表示可以在explain命令的输出中显示评估信息。
  • off表示不在explain命令的输出中显示评估信息。

默认值:off

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区