其它选项
enable_default_ustore_table
参数说明:指定是否默认使用Ustore存储引擎。仅当enable_ustore参数开启时,该参数设置有效。该参数为on时,创建的表默认都为Ustore表;该参数为off时,创建的表默认都为Astore表。升级场景下该参数的默认值会优先保证兼容性,即升级后的默认值与老版本的取值一致。
参数类型:布尔型
参数单位:无
- on:表示默认使用Ustore存储引擎。
- off:表示默认不使用Ustore存储引擎。
默认值:on
设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
设置建议:推荐使用默认值。
设置不当的风险与影响:需要特别注意的是,使用Ustore表时,必须要开启track_counts和track_activities参数,否则会引起空间膨胀。
enable_ustore
参数说明:指定是否开启Ustore存储引擎,该参数为on时,支持创建Ustore表。
参数类型:布尔型
参数单位:无
取值范围:
- on:表示开启Ustore存储引擎。
- off:表示不开启Ustore存储引擎。
默认值:on
设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。
设置建议:用于USTORE的支持版本控制,不建议修改。
设置不当的风险与影响:需要特别注意的是,使用Ustore表时,必须要开启track_counts和track_activities参数,否则会引起空间膨胀。
enable_segment_datafile_preallocate
参数说明:指定是否开启段页式文件扩展时立即分配磁盘空间模式。
参数类型:布尔型
参数单位:无
取值范围:
- on:表示开启立即分配磁盘空间模式,文件扩展时优先使用fallocate立即分配磁盘空间,如果系统不支持fallocate,则使用逐字节写零方式申请磁盘空间。
- off:表示不开启立即分配磁盘空间模式,文件扩展时不立即分配磁盘空间,文件以空洞方式增长。
默认值:on
设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
设置建议:推荐使用默认值。
设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
reserve_space_for_nullable_atts
参数说明:指定是否为Ustore表的可空属性预留空间。
参数类型:布尔型
参数单位:无
取值范围:
- on:表示为Ustore表的可空属性预留空间。
- off:表示不为Ustore表的可空属性预留空间。
默认值:on
设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
设置建议:推荐使用默认值。
设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
server_version
参数说明:报告服务器版本号(字符串形式)。
参数类型:字符串
参数单位:无
取值范围:当前有效值仅有“9.2.4”。
默认值:"9.2.4"
设置方式:该参数属于INTERNAL类型参数,为固定参数,用户无法修改此参数,只能查看。
设置建议:该参数不建议使用,可通过函数opengauss_version()获取内核版本信息。
设置不当的风险与影响:无
server_version_num
参数说明:报告服务器版本号(整数形式)。
参数类型:整型
参数单位:无
取值范围:当前有效值仅有90204。
默认值:90204
设置方式:该参数属于INTERNAL类型参数,为固定参数,用户无法修改此参数,只能查看。
设置建议:该参数不建议使用,可通过函数opengauss_version()获取内核版本信息。
设置不当的风险与影响:无
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类型参数,为固定参数,用户无法修改此参数,只能查看。
设置建议:该参数不允许用户进行设置,只能查看。
设置不当的风险与影响:无
datanode_heartbeat_interval
参数说明:设置心跳线程间发送心跳消息的时间间隔。
参数类型:整型
参数单位:毫秒(ms)
取值范围:1000 ~ 60000
默认值:1000(即1s)
设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。例如,不带单位取值1000,表示datanode_heartbeat_interval为1000ms;带单位取值1s,表示datanode_heartbeat_interval为1s。取值如果要带单位,必须为ms、s、min、h、d。
设置建议:建议取值不超过wal_receiver_timeout/2。
设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
dfs_partition_directory_length
参数说明:在HDFS文件系统上,构造HDFS VALUE分区表的分区目录时,目录名长度的上限值。
参数类型:整型
参数单位:无
取值范围:92 ~ 7999
默认值:512
设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
设置建议:推荐使用默认值。
设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
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、autovacuum_max_workers、max_inner_tool_connections和max_connections的值取决于对应GUC参数的设置;AUXILIARY_BACKENDS为预留辅助线程数,固定为20;AV_LAUNCHER_PROCS为预留autovacuum的launcher线程数,固定为2。
默认值:
独立部署:80(60核CPU/480G内存);40(32核CPU/256G内存);20(16核CPU/128G内存);10(8核CPU/64G内存,4核CPU/32G内存,4核CPU/16G内存)
设置方式:该参数属于POSTMASTER类型参数,请参考表表1中对应设置方法进行设置。
设置建议:根据实际业务需要和硬件配置设置此参数,建议不超过max_connections的1/10。若仅调大此参数,未同比例调整内存参数,业务压力大时,容易出现内存不足,报错提示“memory is temporarily unavailable”。
设置不当的风险与影响:若升级过程中涉及此参数范围变更,并且在commit前修改了此参数,则如果执行升级回滚,需要将此参数调整至升级前允许的范围,否则可能导致数据库无法启动。
cluster_run_mode
参数说明:双集群容灾场景标识CN/DN节点属于主集群还是备集群。单集群使用默认值。
参数类型:枚举类型
参数单位:无
取值范围:
- cluster_primary:表示节点是主集群的节点。
- cluster_standby:表示节点是备集群的节点。
默认值:cluster_primary
设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。
设置建议:标记灾备集群使用的参数,不建议客户设置。
设置不当的风险与影响:修改后可能导致灾备集群异常。
enable_gpi_auto_update
参数说明:控制在分区DDL命令中是否默认更新Global索引。
参数类型:布尔型
参数单位:无
取值范围:
- on:表示默认更新Global索引,此时无论分区DDL带不带UPDATE GLOBAL INDEX子句,都会更新Global索引。
- off:表示默认不更新Global索引,此时只有当分区DDL带UPDATE GLOBAL INDEX子句时,才会更新Global索引。
默认值:off
设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
设置建议:推荐使用默认值。
设置不当的风险与影响:设置为off,当分区DDL未带UPDATE GLOBAL INDEX子句时,会使Global索引不可用。该参数必须在CN和DN设置为相同值,否则可能会导致Global索引功能异常。
enable_cluster_resize
参数说明:扩容工具在内核的唯一标识,此参数开启表示当前session为扩容工具连接。
参数类型:布尔型
参数单位:无
取值范围:
- on:表示当前session为扩容工具连接。
- off:表示当前session不是扩容工具连接。
默认值:off
设置方式:该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。
设置建议:此参数用于内部运维场景,请勿随意开启。
设置不当的风险与影响:用户强制设置为on时,内核认为当前session为扩容工具,可以执行扩容相关系统函数或DDL接口,存在误用风险。
change_cluster_mode
参数说明:用于表示集群是否处于模式切换过程中,其中“模式切换”是指:一主两备集群切换为一主一备一日志集群,或一主一备一日志集群切换为一主两备集群,或一主一备一日志集群中备DN和日志DN互切。
参数类型:整型
参数单位:无
取值范围:0 ~ 2147483647
- 0表示不处于集群模式切换过程中。
- 1表示处于集群模式切换过程中。
- 其他值无实际意义,效果等同于设置为0。
默认值:0
设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
设置建议:该参数用于控制“分布式备机读”功能是否正常可用。当设置为1时,“分布式备机读”功能将无法使用,请谨慎设置该参数。
设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
enable_partrouting_optimization
参数说明:控制是否支持分区表插入优化。
参数类型:布尔型
参数单位:无
取值范围:
- on:表示支持分区表插入优化,针对inert select语句,当select包含常量分区键时,insert只需要做一次分区路由,提升性能。
- off:表示不支持分区表插入优化,插入每一条数据前都需要做一次分区路由去确定插入哪一张分区表。
默认值:on
设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
设置建议:推荐使用默认值。
设置不当的风险与影响:如果关闭该参数,部分插入分区表的场景会没有该参数带来的性能优化效果,无其他影响。
- 只支持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触发器的表,因为可能改变要插入的数据。