更新时间:2026-10-21 GMT+08:00
分享

其它选项

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中对应设置方法进行设置。

设置建议:推荐使用默认值。

设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。

consistency_check_module

参数说明:用于设置需要进行一致性校验的模块。

参数类型:字符串

参数单位:无

取值范围:模块在开启状态(on)下会进行一致性校验,在关闭状态(off)下不会进行校验,可由SHOW consistency_check_module查看:

ALL,on(),off(INDEX)

当前支持校验的模块只有INDEX模块,INDEX模块的校验是指在Astore表B-Tree的索引扫描IndexScan的过程中,会校验索引元组与堆表元组的一致性。

默认值:'off(ALL)'。即默认关闭所有模块的校验。

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

  1. 首先,可以通过SHOW consistency_check_module来查看哪些模块是支持校验的。当前支持校验模块的输出结果如下所示:
    1
    2
    3
    4
    5
    gaussdb=# SHOW consistency_check_module;
     consistency_check_module 
    --------------------------
     ALL,on(),off(INDEX)
    (1 row)
    
  2. 支持可校验的模块通过大写标识,特殊标识ALL用于对所有模块进行设置。可以使用on/off来控制是否进行校验。比如设置校验索引与堆表的一致性校验可使用如下命令:
    1
    2
    3
    4
    5
    6
    7
    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标识相当于一个快捷操作,即对所有模块的校验进行开启或关闭。
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    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表的可空属性预留空间。

参数类型:布尔型

参数单位:无

取值范围:

  • 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。

默认值:

  • 独立部署:160(128核CPU/1024G内存);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中对应设置方法进行设置。

设置建议:标记灾备集群使用的参数,不建议客户设置。

设置不当的风险与影响:修改后可能导致灾备集群异常。

max_resource_package

参数说明:加速数据库实例每个DN可同时运行任务的线程数的上限。

参数类型:整型

参数单位:无

取值范围:0 ~ 2147483647

默认值:0

设置方式:该参数属于POSTMASTER类型参数,请参见表1中对应设置方法进行设置。

设置建议:推荐使用默认值。

设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。

enable_gpi_auto_update

参数说明:控制在分区DDL命令中是否默认更新Global索引。

参数类型:布尔型

参数单位:无

取值范围:

  • on:表示默认更新Global索引,此时无论分区DDL带不带UPDATE GLOBAL INDEX子句,都会更新Global索引。
  • off:表示默认不更新Global索引,此时只有当分区DDL带UPDATE GLOBAL INDEX子句时,才会更新Global索引,或enable_drop_truncate_partition_keep_gpi参数开启时,才会在DROP/TRUNCATE PARTITION操作中更新Global索引。

默认值:off

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

设置建议:根据业务需要进行设置。

设置不当的风险与影响:设置为off,当分区DDL未带UPDATE GLOBAL INDEX子句,且enable_drop_truncate_partition_keep_gpi参数关闭时,会使Global索引不可用。该参数必须在CN和DN设置为相同值,否则可能会导致Global索引功能异常。

enable_drop_truncate_partition_keep_gpi

参数说明:指定分区表DROP/TRUNCATE PARTITION操作中的Global索引是否保持有效。

参数类型:布尔型

参数单位:无

取值范围:

  • on:表示保持Global索引有效。此时无论DROP/TRUNCATE PARTITION语句是否带有UPDATE GLOBAL INDEX子句,都会保持Global索引有效。此优先级高于 enable_gpi_auto_update参数和用户显式指定的UPDATE GLOBAL INDEX。
  • off:表示不保持Global索引有效。此时仅当DROP/TRUNCATE PARTITION语句带UPDATE GLOBAL INDEX子句,或enable_gpi_auto_update参数开启时,才会保持Global索引有效。

默认值:

  • 新安装的数据库默认值为on。
  • 升级的数据库默认值为off。

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

设置建议:根据业务需要进行设置。

设置不当的风险与影响:设置为off时,当DROP/TRUNCATE PARTITION语句未带UPDATE GLOBAL INDEX子句且enable_gpi_auto_update参数关闭时,会使Global索引失效。该参数必须在CN和DN节点上设置为相同值,否则可能导致Global索引功能异常。

enable_gpi_fast_prune

参数说明:控制Ustore表全局分区索引在DML操作期间是否清理DDL操作遗留的垃圾元组。

参数类型:布尔型

参数单位:无

取值范围:

  • on:启用清理机制,即除AutoVacuum线程清理DDL产生的垃圾元组外,在DML过程中如果索引页空间不足,也会触发DDL产生的垃圾元组清理。
  • off:关闭清理机制,即只有AutoVacuum线程会清理DDL产生的垃圾元组。

默认值:on

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

设置建议:根据业务需要进行设置。存在高频DDL/DML操作且使用全局分区索引的分区表业务场景建议开启;未使用全局分区索引或无分区表DDL操作的业务场景建议关闭。

设置不当的风险与影响:设置为off时,只有AutoVacuum线程会清理DDL产生的垃圾元组,则GPI索引空间可能因无效元组累积引发膨胀,影响查询性能。

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:表示支持分区表插入优化,针对INSERT 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触发器的表,因为可能改变要插入的数据。

enable_cross_partition_dead_row_cache

参数说明:设置是否开启跨分区死行清理。主要针对Astore表大分区表场景,通过将不同分区的死元组TID合并清理,减少GPI的访问频次,将清理耗时与分区数解耦,仅与数据量有关,即在同数据量的前提下,清理分区表的耗时与普通表的耗时接近或为同数量级,该特性在大分区表以及GPI数量较多的场景有相对明显的优化。

参数类型:布尔型

参数单位:无

取值范围:

  • on:表示开启跨分区死行清理。
  • off:表示关闭跨分区死行清理。

默认值:on

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

设置建议:推荐使用默认值。

设置不当的风险与影响:关闭可能会造成带GPI的Astore表的VACUUM/AUTOVACUUM清理缓慢。

enable_art_tid_cache

参数说明:设置是否开启使用ART缓存死行TID。支持使用Adaptive Radix Tree结构存储TID以减少VACUUM内存消耗,使得相同内存开销下可以缓存更多的TID,减少大表的索引扫描次数;同时降低搜索TID的时间复杂度,提升索引清理效率。

参数类型:布尔型

参数单位:无

取值范围:

  • on:表示开启ART缓存死行TID。
  • off:表示关闭ART缓存死行TID。

默认值:on

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

设置建议:推荐使用默认值。

设置不当的风险与影响:关闭可能会造成Astore表的VACUUM/AUTOVACUUM清理速度变慢。

storage_debug_parameter

参数说明:控制存储模块的调试参数,仅用在DEBUG版本。

参数类型:字符串

参数单位:无

取值范围:由存储配置参数组成的字符串,以分号分隔。例如:"oid_threshold=100000;xid_stepsize=10"。

  • oid_threshold:申请oid的最大值。最小为100000,最大为4200000000,默认为4200000000。
  • oid_stepsize:申请oid的推进步长。最小为1,最大为4200000000,默认为1。
  • xid_stepsize:申请事务xid的推进步长。最小为1,最大为100000,默认为1。
  • toast_tuple_threshold:触发创建toast表需要的元组宽度。最小为100,最大为7000,默认为2000。

默认值:""。

设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。

设置建议:推荐使用默认值。

设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。

enable_unique_checking_of_unusable_index

参数说明:控制当表中存在UNUSABLE的唯一索引时,插入和更新操作是否需要阻塞。

参数类型:布尔型

参数单位:无

取值范围:

  • on:表示当表中存在UNUSABLE的唯一索引时,INSERT语句和涉及到索引的UPDATE语句会报错,提示先处理UNUSABLE的唯一索引。
  • off:表示当表中存在UNUSABLE的唯一索引时,INSERT语句和涉及到索引的UPDATE语句不会报错。

默认值:off

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

设置建议:根据业务需要进行设置,推荐设置为on。

设置不当的风险与影响:如果打开该参数,为了保证唯一性约束,业务可能会存在大量报错;如果关闭该参数,会导致表中插入唯一索引列的重复数据,导致该索引无法直接重建。

该参数打开时:
  • 对于astore表,更新非UNUSABLE索引的索引列时也会报错,因为会产生新的元组。
  • 对于ustore非分区表,更新非UNUSABLE索引的索引列时不会报错;如果是非原地更新,更新非UNUSABLE索引的索引列时也会报错。
  • 对于ustore分区表,UNUSABLE的唯一索引是全局索引时,更新分区键后若新数据与老数据不在同一分区,也会报错,因为会产生新的元组。
  • 对于ustore分区表,UNUSABLE的唯一索引是包含分区键的LOCAL索引时,更新分区键也会报错。

enable_verify_datafiles

参数说明:控制是否开启数据文件误删校验功能。该功能仅支持集群正常运行期间对数据文件(base、global、pg_tblspc、undo目录中文件)进行误删除检测;误删检测仅包括文件被误删除(rm)或者被重命名(mv)两种场景检测。误删数据文件和检测之间存在时间差,若在此期间数据库停机,则无法检测到误删文件。

参数类型:布尔型

参数单位:无

取值范围:

  • on:表示打开数据文件误删校验功能。
  • off:表示关闭数据文件误删校验功能。

默认值:off

设置方式:该参数属于POSTMASTER类型参数,请参见表1中对应设置方法进行设置。

设置建议:建议根据实际业务需要进行设置。开启后,因需维护正常删除文件列表并进行遍历校验,可能对性能产生一定影响。此外,检测能力依赖系统内核inotify能力。最大监控目录数(含每层子目录)为fs.inotify.max_user_watches,最大并发处理消息数为fs.inotify.max_queued_events;若同时删除的文件数超过max_queued_events,可能导致消息队列溢出与丢失文件删除告警。

设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。

disable_indirect_table_updates

参数说明:控制是否禁止在同一个query内,通过主语句、CTE、子查询、Trigger等对同一张表执行多次DML修改操作。

该参数主要用于避免同一个query内多次修改同一张表可能带来的执行顺序依赖、Trigger递归修改、数据结果不确定以及一致性风险。

参数类型:布尔型

参数单位:无

取值范围:

  • on:禁止同一个query内对同一张表执行多次DML修改操作。
  • off:允许同一个query内对同一张表执行多次DML修改操作。

默认值:off

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

设置建议:建议根据实际业务需要进行设置。

设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。

  • 开启参数时,对于同一张表,行级触发器中禁止再次执行DML操作;但当外层DML为INSERT且触发器内的同表DML也为INSERT时,该场景允许执行。
  • 触发器嵌套自更新场景下,如果两个触发器分别在CN和DN上调用,该校验不生效。

enable_hashbucket

参数说明:指定CREATE TABLE语句是否默认创建hashbucket表。

参数类型:布尔型

参数单位:无

取值范围:

  • on:表示默认创建hashbucket表。
  • off:表示默认不创建hashbucket表。

默认值:off

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

设置建议:推荐使用默认值,仅在需要默认使用hashbucket表的场景下可设置为on。

设置不当的风险与影响:当该参数修改为on后,执行CREATE TABLE语句将默认创建段页式的hashbucket表而非普通页式表。hashbucket表与普通页式表在数据存储方式、空间占用、缓冲区使用及其他特性支持情况等规格和约束方面有一定差异(详情请参见《开发指南》中“特性使用指导 > bucket分布表”章节)。请在明确需要使用hashbucket表的场景下,充分理解参数含义,并经过测试验证后进行修改。

  • enable_hashbucket参数的影响范围仅包括CREATE TABLE语句与CREATE TABLE AS语句。
  • 在下列场景中,enable_hashbucket参数将不生效:
    • 在PG_CATALOG Schema下创建表。
    • 集群初始用户执行相关建表语句。
    • 执行CREATE TABLE LIKE语句且指定了INCLUDING RELOPTIONS或INCLUDING ALL(此时新表是否为hashbucket表将与源表保持一致)。
    • 要创建的表不是持久化表(例如:临时表、全局临时表、UNLOGGED表)。
    • 要创建的表不是HASH分布表(例如:复制表、RANGE分布表等)。
    • 用户在建表语句中通过WITH子句指定了存储参数segment为off或hashbucket为off。
  • 当通过表1中的方式一或方式二设置enable_hashbucket参数时,建议将集群所有节点设置为相同值。若各个节点上的参数值不同,参数是否生效将由下发建表语句的CN上的参数值来决定。
  • 升级观察期请勿设置该参数为on。

vacuum_truncate

参数说明:控制是否开启表的清理时截断连续空闲尾页功能。

参数类型:布尔型

参数单位:无

取值范围:

  • on:表示开启表的清理时截断连续空闲尾页功能。
  • off:表示关闭表的清理时截断连续空闲尾页功能。

默认值:on

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

设置建议:推荐使用默认值。

设置不当的风险与影响:参数设置为off时,清理流程不会截断空闲尾页,可能会造成Astore表的空间膨胀。

  • 该参数仅对Astore表生效,对hashbucket表和segment表不生效。
  • 该参数与表级选项vacuum_truncate冲突时,表级选项优先:
    • 表级vacuum_truncate设为on,全局参数设为off时,该表打开VACUUM TRUNCATE功能。
    • 表级vacuum_truncate设为off,全局参数设为on时,该表关闭VACUUM TRUNCATE功能。
    • 未设置表级参数时,由全局参数控制是否打开VACUUM TRUNCATE功能。

相关文档