
# 其它选项
#### enable_default_ustore_table
**参数说明：** 指定是否默认使用Ustore存储引擎。仅当[enable_ustore]参数开启时，该参数设置有效。该参数为on时，创建的表默认都为Ustore表；该参数为off时，创建的表默认都为Astore表。该参数可在PDB级别设置。升级场景下该参数的默认值会优先保证兼容性，即升级后的默认值与老版本的取值一致。
**参数类型：**布尔型
**参数单位：**无
**取值范围：**
- on：表示默认使用Ustore存储引擎。
- off：表示默认不使用Ustore存储引擎。
 
**默认值：**on。在PDB场景内，若未设置该参数，则继承来自全局的设置。
**设置方式：** 该参数属于USERSET类型参数，请参见[表1](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0315.html#ZH-CN_TOPIC_0000002527988878__zh-cn_topic_0000002527058484_zh-cn_topic_0000002372412413_zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**推荐使用默认值。
**设置不当的风险与影响：** 需要特别注意的是，使用Ustore表时，必须要开启[track_counts](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0354.html#ZH-CN_TOPIC_0000002559108673__zh-cn_topic_0000002558217919_zh-cn_topic_0000002372332589_zh-cn_topic_0283136895_zh-cn_topic_0237124727_zh-cn_topic_0059779313_s3f4fb0b1004041f69e1454c701952411)和[track_activities](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0354.html#ZH-CN_TOPIC_0000002559108673__zh-cn_topic_0000002558217919_zh-cn_topic_0000002372332589_zh-cn_topic_0283136895_zh-cn_topic_0237124727_zh-cn_topic_0059779313_s7ae1b39207b14bb697df6bd9ee91e54b)参数，否则会引起空间膨胀。
 #### enable_ustore
**参数说明：**指定是否开启Ustore存储引擎，该参数为on时，支持创建Ustore表。
**参数类型：**布尔型
**参数单位：**无
**取值范围：**
- on：表示开启Ustore存储引擎。
- off：表示不开启Ustore存储引擎。
**默认值：**on
**设置方式：** 该参数属于POSTMASTER类型参数，请参考[表1](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0315.html#ZH-CN_TOPIC_0000002527988878__zh-cn_topic_0000002527058484_zh-cn_topic_0000002372412413_zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**用于USTORE的支持版本控制，不建议修改。
**设置不当的风险与影响：** 需要特别注意的是，使用Ustore表时，必须要开启[track_counts](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0354.html#ZH-CN_TOPIC_0000002559108673__zh-cn_topic_0000002558217919_zh-cn_topic_0000002372332589_zh-cn_topic_0283136895_zh-cn_topic_0237124727_zh-cn_topic_0059779313_s3f4fb0b1004041f69e1454c701952411)和[track_activities](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0354.html#ZH-CN_TOPIC_0000002559108673__zh-cn_topic_0000002558217919_zh-cn_topic_0000002372332589_zh-cn_topic_0283136895_zh-cn_topic_0237124727_zh-cn_topic_0059779313_s7ae1b39207b14bb697df6bd9ee91e54b)参数，否则会引起空间膨胀。
#### enable_segment_datafile_preallocate
**参数说明：**指定是否开启段页式文件扩展时立即分配磁盘空间模式。
**参数类型：**布尔型
**参数单位：**无
**取值范围：**
- on：表示开启立即分配磁盘空间模式，文件扩展时优先使用fallocate立即分配磁盘空间，如果系统不支持fallocate，则使用逐字节写零方式申请磁盘空间。
- off：表示不开启立即分配磁盘空间模式，文件扩展时不立即分配磁盘空间，文件以空洞方式增长。
**默认值：**on
**设置方式：** 该参数属于SIGHUP类型参数，请参考[表1](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0315.html#ZH-CN_TOPIC_0000002527988878__zh-cn_topic_0000002527058484_zh-cn_topic_0000002372412413_zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**推荐使用默认值。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
#### consistency_check_module
**参数说明：**用于设置需要进行一致性校验的模块。
**参数类型：**字符串
**参数单位：**无
**默认值：**'off(ALL)'。即默认关闭所有模块的校验。
**取值范围：**模块在开启状态（on）下会进行一致性校验，在关闭状态（off）下不会进行校验，可由SHOW consistency_check_module查看：
```
ALL,on(),off(INDEX)
```
当前支持校验的模块只有INDEX模块，INDEX模块的校验是指在Astore表B-Tree的索引扫描IndexScan的过程中，会校验索引元组与堆表元组的一致性。
**设置方式：** 该参数属于USERSET类型参数，请参考[表1](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0315.html#ZH-CN_TOPIC_0000002527988878__zh-cn_topic_0000002527058484_zh-cn_topic_0000002372412413_zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
1. 首先，可以通过SHOW consistency_check_module来查看哪些模块是支持校验的。当前支持校验模块的输出结果如下所示：
   ```
   gaussdb=# show consistency_check_module;
    consistency_check_module 
   --------------------------
    ALL,on(),off(INDEX)
   (1 row)
   ```
   
2. 支持可校验的模块使用大写来标识，特殊标识ALL用于对所有模块进行设置。可以使用on/off来控制是否进行校验。比如设置校验索引与堆表的一致性校验可使用如下命令：
   ```
   gaussdb=# set consistency_check_module='on(INDEX)';
   SET
   gaussdb=# show consistency_check_module;
    consistency_check_module 
   --------------------------
    ALL,on(INDEX),off()
   (1 row)
   ```
   可以看到模块INDEX的校验被打开。
   
3. ALL标识相当于一个快捷操作，即对所有模块的校验进行开启或关闭。
   ```
   gaussdb=# set consistency_check_module='off(ALL)';
   SET
   gaussdb=# show consistency_check_module;
    consistency_check_module 
   --------------------------
    ALL,on(),off(INDEX)
   (1 row)
   gaussdb=# set consistency_check_module='on(ALL)';
   SET
   gaussdb=# show consistency_check_module;
    consistency_check_module 
   --------------------------
    ALL,on(INDEX),off()
   (1 row)
   ```
   
**设置建议：**根据需要开启对应模块的校验。
**设置不当的风险与影响：**开启时会在一些SQL的执行流程中进行一致性校验操作，会有额外的耗时或性能影响，请谨慎使用。
#### reserve_space_for_nullable_atts
**参数说明：**指定是否为Ustore表的可空属性预留空间。该参数可在PDB级别设置。
**参数类型：**布尔型
**参数单位：**无
**取值范围：**
- on：表示为Ustore表的可空属性预留空间。
- off：表示不为Ustore表的可空属性预留空间。
**默认值：**on。在PDB场景内，若未设置该参数，则继承来自全局的设置。
**设置方式：** 该参数属于USERSET类型参数，请参考[表1](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0315.html#ZH-CN_TOPIC_0000002527988878__zh-cn_topic_0000002527058484_zh-cn_topic_0000002372412413_zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**推荐使用默认值。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
#### block_size
**参数说明：**报告当前数据库所使用的块大小。
**参数类型：**整型
**参数单位：**无
**取值范围：**当前有效值仅有8192。
**默认值：**8192
**设置方式：**该参数属于INTERNAL类型参数，为固定参数，用户无法修改此参数，只能查看。
**设置建议：**该参数不允许用户进行设置，只能查看。
**设置不当的风险与影响：**无
#### segment_size
**参数说明：**报告当前数据库所使用的段文件大小。
**参数类型：**整型
**参数单位** **：**8kB
**取值范围：**当前有效值仅有131072。
**默认值：**131072（即1GB）
**设置方式：**该参数属于INTERNAL类型参数，为固定参数，用户无法修改此参数，只能查看。
**设置建议：**该参数不允许用户进行设置，只能查看。
**设置不当的风险与影响：**无
#### max_index_keys
**参数说明：**报告当前数据库能够支持的索引键值的最大数目。
**参数类型：**整型
**参数单位：**无
**取值范围：**当前有效值仅有32。
**默认值：**32
**设置方式：**该参数属于INTERNAL类型参数，为固定参数，用户无法修改此参数，只能查看。
**设置建议：**该参数不允许用户进行设置，只能查看。
**设置不当的风险与影响：**无。
#### integer_datetimes
**参数说明：**报告是否支持64位整数形式的日期和时间格式。
**参数类型：**布尔型
**参数单位：**无
**取值范围：**
- on：表示支持64位整数形式的日期和时间格式。
- off：表示不支持64位整数形式的日期和时间格式。
**默认值：**on
**设置方式：**该参数属于INTERNAL类型参数，为固定参数，用户无法修改此参数，只能查看。
**设置建议：**该参数不允许用户进行设置，只能查看。
**设置不当的风险与影响：**无
#### lc_collate
**参数说明：**报告当前数据库的字符串排序规则区域设置。
**参数类型：**字符串
**参数单位：**无
**取值范围：**字符串
**默认值：**依赖于数据库安装部署时的配置。
**设置方式：**该参数属于INTERNAL类型参数，为固定参数，用户无法修改此参数，只能查看。
**设置建议：**该参数不允许用户进行设置，只能查看。
**设置不当的风险与影响：**无
#### lc_ctype
**参数说明：**报告当前数据库中字符分类和大小写转换的区域设置。如：哪些字符属于哪些字母，它对应的大写形式是什么。
**参数类型：**字符串
**参数单位：**无
**取值范围：**字符串
**默认值：**依赖于数据库安装部署时的配置。
**设置方式：**该参数属于INTERNAL类型参数，为固定参数，用户无法修改此参数，只能查看。
**设置建议：**该参数不允许用户进行设置，只能查看。
**设置不当的风险与影响：**无
#### max_identifier_length
**参数说明：**报告当前系统允许的标识符最大长度。
**参数类型：**整型
**参数单位：**无
**取值范围：**当前有效值仅有63。
**默认值：**63
**设置方式：**该参数属于INTERNAL类型参数，为固定参数，用户无法修改此参数，只能查看。
**设置建议：**该参数不允许用户进行设置，只能查看。
**设置不当的风险与影响：**无
#### server_encoding
**参数说明：**报告当前数据库的服务端编码字符集。
默认情况下，gs_initdb会根据创建数据库时的系统环境初始化此参数，通过locale命令可以查看当前的配置环境。
**参数类型：**字符串
**参数单位：**无
**取值范围：**字符串
**默认值：**在创建数据库的时候由系统环境决定。
**设置方式：**该参数属于INTERNAL类型参数，为固定参数，用户无法修改此参数，只能查看。
**设置建议：**该参数不允许用户进行设置，只能查看。
**设置不当的风险与影响：**无
#### enable_upgrade_merge_lock_mode
**参数说明：**当该参数设置为on时，通过提升deltamerge内部实现的锁级别，避免和update/delete并发操作导致的报错。该参数可在PDB级别设置。
**参数类型：**布尔型
**参数单位：**无
**取值范围：**
- on：提升deltamerge内部实现的锁级别，并发执行deltamerge和update/delete操作时，一个操作先执行，另一个操作被阻塞，在前一个操作完成后，后一个操作再执行。
- off：在对表的delta table的同一行并发执行deltamerge和update/delete操作时，后一个对同一行数据更新的操作会报错退出。
**默认值：**off。在PDB场景内，若未设置该参数，则继承来自全局的设置。
**设置方式：** 该参数属于USERSET类型参数，请参考[表1](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0315.html#ZH-CN_TOPIC_0000002527988878__zh-cn_topic_0000002527058484_zh-cn_topic_0000002372412413_zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**推荐使用默认值。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
#### basebackup_timeout
**参数说明：**备份传输完成后连接无读写的超时时间。该参数可在PDB级别设置。
通过gs_basebackup工具作传输时，如果指定较高压缩率，可能在传输表空间完成后超时（客户端需要压缩传输数据）。
**参数类型：**整型
**参数单位：**s（秒）
**取值范围：**0 \~ 2147483647，其中0表示禁用该功能。
**默认值：**600。在PDB场景内，若未设置该参数，则继承来自全局的设置。
**设置方式：** 该参数属于USERSET类型参数，请参考[表1](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0315.html#ZH-CN_TOPIC_0000002527988878__zh-cn_topic_0000002527058484_zh-cn_topic_0000002372412413_zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。例如，不带单位取值600，表示basebackup_timeout为600s；带单位取值10min，表示basebackup_timeout为10min。取值如果要带单位，必须为s、min、h、d。
**设置建议：**推荐使用默认值。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
#### datanode_heartbeat_interval
**参数说明** **：**设置心跳线程间发送心跳消息的时间间隔。
**参数类型：**整型
**参数单位：**ms（毫秒）
**取值范围** **：**1000 \~ 60000
**默认值** **：**1000（即1s）
**设置方式：** 该参数属于SIGHUP类型参数，请参考[表1](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0315.html#ZH-CN_TOPIC_0000002527988878__zh-cn_topic_0000002527058484_zh-cn_topic_0000002372412413_zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。例如，不带单位取值1000，表示datanode_heartbeat_interval为1000ms；带单位取值1s，表示datanode_heartbeat_interval为1s。取值如果要带单位，必须为ms、s、min、h、d。
**设置建议：** 建议取值不超过[wal_receiver_timeout](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0339.html#ZH-CN_TOPIC_0000002527988892__zh-cn_topic_0000002558217987_zh-cn_topic_0000002372332421_zh-cn_topic_0283136835_zh-cn_topic_0237124714_zh-cn_topic_0059778071_s6afc725ed1b5426391be682f42702b77)/2。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
#### dfs_partition_directory_length
**参数说明：**在HDFS文件系统上，构造HDFS VALUE分区表的分区目录时，目录名长度的上限值。
**参数类型：**整型
**参数单位：**无
**取值范围：**92 \~ 7999
**默认值：**512
**设置方式：** 该参数属于USERSET类型参数，请参考[表1](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0315.html#ZH-CN_TOPIC_0000002527988878__zh-cn_topic_0000002527058484_zh-cn_topic_0000002372412413_zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**推荐使用默认值。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
#### max_concurrent_autonomous_transactions
**参数说明：**自治事务最大连接数，即同一时间自治事务执行的最大并发数。当设置为0时，将无法执行自治事务。
**参数类型：**整型
**参数单位：**无
**取值范围：** 0 \~ 10000，理论最大值为10000，实际最大值为动态值，计算公式为"262143 - job_queue_processes - autovacuum_max_workers - max_inner_tool_connections - max_connections - AUXILIARY_BACKENDS - AV_LAUNCHER_PROCS"。其中，[job_queue_processes](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0388.html#ZH-CN_TOPIC_0000002527828974__zh-cn_topic_0000002558217871_zh-cn_topic_0000002338374708_zh-cn_topic_0283137574_zh-cn_topic_0237124754_zh-cn_topic_0059778487_section10342177134137)、[autovacuum_max_workers](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0357.html#ZH-CN_TOPIC_0000002558948773__zh-cn_topic_0000002527057986_zh-cn_topic_0000002338374488_zh-cn_topic_0283137694_zh-cn_topic_0237124730_zh-cn_topic_0059778244_s76932f79410248ba8923017d19982673)、[max_inner_tool_connections](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0320.html#ZH-CN_TOPIC_0000002558948751__zh-cn_topic_0000002558058135_zh-cn_topic_0000002338534280_zh-cn_topic_0283136886_section132711513143211)和[max_connections](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0320.html#ZH-CN_TOPIC_0000002558948751__zh-cn_topic_0000002558058135_zh-cn_topic_0000002338534280_zh-cn_topic_0283136886_zh-cn_topic_0237124695_zh-cn_topic_0059777636_sa723b719fa70453bb7ec27f323d41c79)的值取决于对应GUC参数的设置；AUXILIARY_BACKENDS为预留辅助线程数，固定为20；AV_LAUNCHER_PROCS为预留autovacuum的launcher线程数，固定为2。
**默认值：**200（196核CPU/1536G内存，128核CPU/1024G内存，104核CPU/1024G内存，96核CPU/1024G内存）；150（96核CPU/768G内存）；120（80核CPU/640G内存）；100（64核CPU/512G内存）；80（60核CPU/480G内存）；40（32核CPU/256G内存）；20（16核CPU/128G内存）；10（8核CPU/64G内存，4核CPU/32G内存，4核CPU/16G内存）。
**设置方式：** 该参数属于POSTMASTER类型参数，请参见[表1](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0315.html#ZH-CN_TOPIC_0000002527988878__zh-cn_topic_0000002527058484_zh-cn_topic_0000002372412413_zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**根据实际业务需要和硬件配置设置此参数，建议不超过max_connections的1/10。若仅调大此参数，未同比例调整内存参数，业务压力大时，容易出现内存不足，报错提示"memory is temporarily unavailable"。
**设置不当的风险与影响：**若升级过程中涉及此参数范围变更，并且在commit前修改了此参数，则如果执行升级回滚，需要将此参数调整至升级前允许的范围，否则可能导致数据库无法启动。
#### enable_seqscan_fusion
**参数说明：**控制是否打开SeqScan优化。该参数可在PDB级别设置。
**参数类型：**布尔型
**参数单位：**无
**取值范围：**
- on：表示打开SeqScan优化。
- off：表示关闭SeqScan优化。
**默认值：**off。在PDB场景内，若未设置该参数，则继承来自全局的设置。
**设置方式：** 该参数属于USERSET类型参数，请参考[表1](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0315.html#ZH-CN_TOPIC_0000002527988878__zh-cn_topic_0000002527058484_zh-cn_topic_0000002372412413_zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**推荐使用默认值。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
![](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
该参数只能优化EXPLAIN ANALYZE语句的seqscan算子的执行时间。
#### cluster_run_mode
**参数说明** **：**双数据库实例容灾场景标识DN节点属于主数据库实例还是备数据库实例。单数据库实例使用默认值。
**参数类型：**枚举类型
**参数单位：**无
**取值范围** **：**
- cluster_primary：表示节点是主数据库实例的节点。
- cluster_standby：表示节点是备数据库实例的节点。
**默认值** **：**cluster_primary
**设置方式：** 该参数属于POSTMASTER类型参数，请参考[表1](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0315.html#ZH-CN_TOPIC_0000002527988878__zh-cn_topic_0000002527058484_zh-cn_topic_0000002372412413_zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**标记灾备数据库实例使用的参数，不建议客户设置。
**设置不当的风险与影响：**修改后可能导致灾备数据库实例异常。
#### acceleration_with_compute_pool
**参数说明：**在查询包含OBS时，通过该参数决定查询是否通过计算资源池进行加速。（由于规格变更，当前版本已经不再支持本特性，请不要使用）
**参数类型：**布尔型
**参数单位：**无
**取值范围：**
- on：表示包含有OBS的查询在计算资源池可用时，会根据代价评估决定是否通过计算资源池对查询加速。
- off：表示任何查询都不会通过计算资源池进行加速。
**默认值：**off
**设置方式：** 该参数属于USERSET类型参数，请参考[表1](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0315.html#ZH-CN_TOPIC_0000002527988878__zh-cn_topic_0000002527058484_zh-cn_topic_0000002372412413_zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**推荐使用默认值。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
#### max_resource_package
**参数说明：**云上环境中，加速数据库实例每个DN可同时运行任务的线程数的上限。
**参数类型：**整型
**参数单位：**无
**取值范围：**0 \~ 2147483647
**默认值：**0
**设置方式：** 该参数属于POSTMASTER类型参数，请参考[表1](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0315.html#ZH-CN_TOPIC_0000002527988878__zh-cn_topic_0000002527058484_zh-cn_topic_0000002372412413_zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**推荐使用默认值。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
#### enable_gpi_auto_update
**参数说明：**控制在分区DDL命令中是否默认更新Global索引。该参数可在PDB级别设置。
**参数类型：**布尔型
**参数单位：**无
**取值范围：**
- on：表示默认更新Global索引，此时无论分区DDL带不带UPDATE GLOBAL INDEX子句，都会更新Global索引。
- off：表示默认不更新Global索引，此时只有当分区DDL带UPDATE GLOBAL INDEX子句时，才会更新Global索引。
**默认值：**off。在PDB场景内，若未设置该参数，则继承来自全局的设置。
**设置方式：** 该参数属于USERSET类型参数，请参考[表1](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0315.html#ZH-CN_TOPIC_0000002527988878__zh-cn_topic_0000002527058484_zh-cn_topic_0000002372412413_zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**根据业务需要进行设置。
**设置不当的风险与影响：**设置为off，当分区DDL未带UPDATE GLOBAL INDEX子句时，会使Global索引不可用。
#### enable_gpi_fast_prune
**参数说明：**控制Ustore表全局分区索引在DML操作期间是否清理DDL操作遗留的垃圾元组。该参数可在PDB级别设置。
**参数类型：**布尔型
**参数单位：**无
**取值范围：**
- on：启用清理机制，即除AutoVacuum线程清理DDL产生的的垃圾元组外，在DML过程中如果索引页空间不足，也会触发DDL产生的垃圾元组清理。
- off：关闭清理机制，即只有AutoVacuum线程会清理DDL产生的垃圾元组。
**默认值：**on。在PDB场景内，若未设置该参数，则继承来自全局的设置。
**设置方式：** 该参数属于USERSET类型参数，请参考[表1](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0315.html#ZH-CN_TOPIC_0000002527988878__zh-cn_topic_0000002527058484_zh-cn_topic_0000002372412413_zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**根据业务需要进行设置。存在高频DDL/DML操作且使用全局分区索引的分区表业务场景建议开启；未使用全局分区索引或无分区表DDL操作的业务场景建议关闭。
**设置不当的风险与影响：**设置为off时，即只有AutoVacuum线程会清理DDL产生的垃圾元组，则GPI索引空间可能因无效元组累积引发膨胀，影响查询性能。
#### enable_partition_autoextend_retry
**参数说明：**分区表自动扩展新增分区默认采用自治事务。该参数设置为on后，自治事务新增分区出现异常时，会重试一次同事务新增分区的逻辑。该参数可在PDB级别设置。
**参数类型：**布尔型
**参数单位：**无
**取值范围：**
- on：表示分区表采用自治事务自动扩展新增分区出现异常后，会重试一次同事务新增分区。
- off：表示分区表采用自治事务自动扩展新增分区出现异常后，直接抛出异常。
**默认值：**on。在PDB场景内，若未设置该参数，则继承来自全局的设置。
**设置方式：** 该参数属于SUSET类型参数，请参考[表1](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0315.html#ZH-CN_TOPIC_0000002527988878__zh-cn_topic_0000002527058484_zh-cn_topic_0000002372412413_zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**推荐使用默认值。
**设置不当的风险与影响：**设置为off，分区表采用自治事务自动扩展新增分区出现异常后，直接抛出异常。
#### enable_gsplsql_execopt
**参数说明：**控制是否优化存储过程函数的执行。该参数可在PDB级别设置。
**参数类型：**布尔型
**参数单位：**无
**取值范围：**
- on：表示在存储过程初始化时分配并记录运行过程中不改变的信息，避免执行过程中无效的重复调用。
- off：表示使用默认调用逻辑，每次循环都重新初始化信息。
**默认值：**on。在PDB场景内，若未设置该参数，则继承来自全局的设置。
**设置方式：** 该参数属于USERSET类型参数，请参考[表1](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0315.html#ZH-CN_TOPIC_0000002527988878__zh-cn_topic_0000002527058484_zh-cn_topic_0000002372412413_zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**推荐使用默认值。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
#### dynamic_procedure_cache_count
**参数说明：**用于控制存储过程执行期间可以缓存动态语句的最大条数，缓存数达到最大条数后不优化后续语句。多租场景下，该参数可在PDB级别设置。
**参数类型：**整型
**参数单位：**无
**取值范围：**0 \~ 1024，设置为0时表示不缓存。
**默认值：**128。在PDB场景内，若未设置该参数，则继承来自全局的设置。
**设置方式：** 该参数属于USERSET类型参数，请参考[表1](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0315.html#ZH-CN_TOPIC_0000002527988878__zh-cn_topic_0000002527058484_zh-cn_topic_0000002372412413_zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**推荐使用默认值。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
#### multi_insert_min_rows
**参数说明：**限制使用批量插入的最小预估行数。可通过explain (verbose on) 观察执行计划是否包含"Batch Insert"，判断是否使用了批量插入。该参数可在PDB级别设置。
**参数类型：**整型
**参数单位：**无
**取值范围：**-1 \~ 2147483647，-1表示不使用批量插入，大于等于0时表示预估插入行数\>=multi_insert_min_rows时使用批量插入，会针对insert select语句，使用批量插入提升性能。
**默认值：**1000。在PDB场景内，若未设置该参数，则继承来自全局的设置。
**设置方式：** 该参数属于USERSET类型参数，请参考[表1](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0315.html#ZH-CN_TOPIC_0000002527988878__zh-cn_topic_0000002527058484_zh-cn_topic_0000002372412413_zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**推荐使用默认值或者设置为1000以上，插入数据行数较小时使用批量插入可能导致插入性能劣化。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
![](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
- **规格**
  默认配置下，astore表使用批量插入可以提升50%左右，ustore表使用批量插入可以提升60%左右。
  
- **约束**
  除了multi_insert_min_rows参数约束外，使用批量插入还有以下约束：
  1. 不支持insert select之外的语句。
  
  2. 不支持包含before和instead触发器的表，因为可能改变要插入的数据。
  
  3. 不支持sql包含volatile函数，因为volatile函数每次执行都会开启一个新事务，而使用batch insert批量成功的特性使其拿到的快照可能与普通insert不同。
  
  4. 不支持sql包含returning子句。
  
  5. 不支持upsert子句。
  
  6. 不支持unlogged表、临时表和全局临时表，使用批量插入反而可能性能劣化。
  
  7. 仅在b_format_version='5.7'和b_format_dev_version='s2'时，支持包含自增列（auto increment）的表。
    
 
```
示例：
-- 创建表和数据
gaussdb=# CREATE TABLE t(id int, c1 varchar(20), c2 varchar(40), c3 varchar(50)) WITH (storage_type=astore);
gaussdb=# CREATE TABLE t_tmp(id int, c1 varchar(20), c2 varchar(40), c3 varchar(50))  WITH (storage_type=astore);
gaussdb=# INSERT INTO t_tmp VALUES (generate_series(1, 1000), '1111111111111111111', '222222222222222222222', '333333333333333333333333333333333');
analyze t_tmp;
-- 插入1000行数据，循环1000次，使用批量插入1.2s， 不使用批量插入2.68s， 使用批量插入提升性能50%+
gaussdb=# SET multi_insert_min_rows=-1;
gaussdb=# DECLARE
start_time bigint;
end_time bigint;
BEGIN
start_time := dbe_utility.get_time();
for i in 1 .. 1000 loop
insert into t select * from t_tmp;
end loop;
end_time := dbe_utility.get_time();
dbe_output.print_line('耗时：' ||(end_time - start_time)/100);
END;
/
耗时：2.68
gaussdb=# SET multi_insert_min_rows=0;
gaussdb=# DECLARE
start_time bigint;
end_time bigint;
BEGIN
start_time := dbe_utility.get_time();
for i in 1 .. 1000 loop
insert into t select * from t_tmp;
end loop;
end_time := dbe_utility.get_time();
dbe_output.print_line('耗时：' ||(end_time - start_time)/100);
END;
/
耗时：1.2
```
#### enable_force_smp
**参数说明：**控制是否强制开启SMP计划。参数开启后，代价模型默认拉起stream线程的代价为空，当设置并行度并且算子支持并行时强制选择并行路径。该参数可在PDB级别设置。
**参数类型：**布尔型
**参数单位：**无
**取值范围：**
- on：表示强制开启SMP计划。
- off：表示不强制开启SMP计划。
**默认值：**off。在PDB场景内，若未设置该参数，则继承来自全局的设置。
**设置方式：** 该参数属于USERSET类型参数，请参考[表1](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0315.html#ZH-CN_TOPIC_0000002527988878__zh-cn_topic_0000002527058484_zh-cn_topic_0000002372412413_zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**推荐使用默认值。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
![](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
- 该参数只对支持SMP的算子有效，具体请联系管理员。
- 另外，使用强制开启SMP还存在以下约束：
  - SMP特性通过算子并行来提升性能，同时会占用更多的系统资源，包括CPU、内存、I/O等等。本质上SMP是一种以资源换取时间的方式，在合适的场景以及资源充足的情况下，合理设置并行度来较好地提升性能。
  
  - 如果在不合适的场景下（如数据量较少），或资源不足的情况下，可能引起性能的劣化。
  
  - SMP非适用场景不支持此参数。
   
 
#### enable_partrouting_optimization
**参数说明：**控制是否支持分区表插入优化。该参数可在PDB级别设置。
**参数类型：**布尔型
**参数单位：**无
**取值范围：**
- on：表示支持分区表插入优化，针对INSERT、SELECT语句，当SELECT包含常量分区键时，INSERT只需要做一次分区路由，提升性能。
- off：表示不支持分区表插入优化，插入每一条数据前都需要做一次分区路由去确定插入哪一张分区表。
**默认值：**on。在PDB场景内，若未设置该参数，则继承来自全局的设置。
**设置方式：** 该参数属于USERSET类型参数，请参考[表1](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0315.html#ZH-CN_TOPIC_0000002527988878__zh-cn_topic_0000002527058484_zh-cn_topic_0000002372412413_zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**推荐使用默认值。
**设置不当的风险与影响：**如果关闭该参数，部分插入分区表的场景会没有该参数带来的性能优化效果，无其他影响。
![](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
分区表插入优化约束：
- 只支持INSERT、SELECT语句。
- INSERT INTO ta SELECT FROM tb中，插入a表中所有分区键的值，对应SELECT结果集中的列值必须是常量（可以不存在该列，因为默认值也是恒定的）。
  - INSERT INTO ta SELECT c,d FROM b WHERE tb.c='1'或SELECT '1' AS c, d FROM tb则可以判断结果列tb.c为常量。
  
  - INSERT INTO ta SELECT c,d FROM b WHERE tb.c=func('1'); 如果func()不是volatile函数，也不是包含非常量参数的stable/immutable函数，则可以判断tb.c为常量。
  
  - 如果列值为聚合函数的返回值，如：INSERT INTO ta SELECT count(c),d FROM b WHERE tb.c='1' GROUP BY c, d; 不能判断count(c)为常量。
   
- 不支持UPSERT子句。
- 不支持包含before和instead触发器的表，因为可能改变要插入的数据。
 
#### enable_unique_checking_of_unusable_index
**参数说明：**控制当表中存在UNUSABLE的唯一索引时，插入和更新操作是否需要阻塞。
**参数类型：**布尔型
**参数单位：**无
**取值范围：**
- on：表示当表中存在UNUSABLE的唯一索引时，INSERT语句和涉及到索引的UPDATE语句会报错，提示先处理UNUSABLE的唯一索引。
- off：表示当表中存在UNUSABLE的唯一索引时，INSERT语句和涉及到索引的UPDATE语句不会报错。
**默认值：**off
**设置方式：** 该参数属于USERSET类型参数，请参考[表1](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0315.html#ZH-CN_TOPIC_0000002527988878__zh-cn_topic_0000002527058484_zh-cn_topic_0000002372412413_zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**根据业务需要进行设置，推荐设置为on。
**设置不当的风险与影响：**如果打开该参数，为了保证唯一性约束，业务可能会存在大量报错；如果关闭该参数，会导致表中插入唯一索引列的重复数据，导致该索引无法直接重建。
![](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
该参数打开时：
- 对于astore表，更新非UNUSABLE索引的索引列时也会报错，因为会产生新的元组。
- 对于ustore非分区表，更新非UNUSABLE索引的索引列时不会报错；如果是非原地更新，更新非UNUSABLE索引的索引列时也会报错。
- 对于ustore分区表，UNUSABLE的唯一索引是全局索引时，更新分区键后若新数据与老数据不在同一分区，也会报错，因为会产生新的元组。
- 对于ustore分区表，UNUSABLE的唯一索引是包含分区键的LOCAL索引时，更新分区键也会报错。
 
#### enable_cfunction
**参数说明：**是否开启C function功能。
**参数类型：**布尔型
**参数单位：**无
**取值范围：**
- on：表示开启C function功能。
- off：表示关闭C function功能。
**默认值：**off
**设置方式：** 该参数属于SIGHUP类型参数，请参考[表1](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0315.html#ZH-CN_TOPIC_0000002527988878__zh-cn_topic_0000002527058484_zh-cn_topic_0000002372412413_zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**不使用C function功能时建议关闭。
**设置不当的风险与影响：**无
#### enable_java_udf
**参数说明：**是否开启java udf功能。
**参数类型：**布尔型
**参数单位：**无
**取值范围：**
- on：表示开启java udf功能。
- off：表示关闭java udf功能。
**默认值：**off
**设置方式：** 该参数属于SIGHUP类型参数，请参考[表1](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0315.html#ZH-CN_TOPIC_0000002527988878__zh-cn_topic_0000002527058484_zh-cn_topic_0000002372412413_zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**不使用JAVA UDF功能时建议关闭。
**设置不当的风险与影响：**无
#### storage_debug_parameter
**参数说明：**控制存储模块的调试参数，仅用在DEBUG版本。
**参数类型：**字符串
**参数单位：**无
**取值范围：**由存储配置参数组成的字符串，以分号分隔。
- oid_threshold：申请oid的最大值。最小为100000，最大为4200000000，默认为4200000000。
- oid_stepsize：申请oid的推进步长。最小为1，最大为UINT_MAX，默认为1。
- xid_stepsize：申请事务xid的推进步长。最小为1，最大为100000，默认为1。
- toast_tuple_threshold：触发创建toast表需要的元组宽度。最小为100，最大为7000，默认为2000。
**默认值：**""。
**设置方式：** 该参数属于SIGHUP类型参数，请参考[表1](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0315.html#ZH-CN_TOPIC_0000002527988878__zh-cn_topic_0000002527058484_zh-cn_topic_0000002372412413_zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**推荐使用默认值。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
