华为云用户手册

  • resilience_memory_reject_percent 参数说明:用于控制内存过载逃生功能的动态内存占用百分比。该参数仅在GUC参数use_workload_manager和enable_memory_limit打开时生效。 参数类型:字符串 参数单位:无 取值范围:长度大于0的字符串。 该参数分为recover_memory_percent、overload_memory_percent两部分,这2个部分的具体含义如下: recover_memory_percent:内存从过载状态恢复到正常状态的动态内存使用占最大动态内存的百分比,当动态内存使用小于最大动态内存乘以该值对应的百分比后,停止过载逃生并放开新连接接入,取值为0~100,设置为多少表示百分之多少。 overload_memory_percent:内存过载时动态内存使用占最大动态内存的百分比,当动态内存使用大于最大动态内存乘以该值对应的百分比后,表示当前内存已经过载,触发过载逃生kill会话并禁止新连接接入,取值为0~100,设置为多少表示百分之多少。 默认值:"0,0",表示关闭内存过载逃生功能。 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 例如,如下命令表示内存使用超过最大内存上限的90%后禁止新连接接入并kill堆积的会话,kill会话过程中内存恢复到最大内存的70%以下时停止kill会话并允许新连接接入。 gs_guc reload -Z coordinator -Z datanode -N all -I all -c "resilience_memory_reject_percent='70,90'" 设置建议:如果该参数设置的百分比过小,则会频繁触发内存过载逃生流程,会使正在执行的会话被强制退出,新连接短时间接入失败,需要根据实际内存使用情况慎重设置。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。 最大动态内存和已使用的动态内存可以通过pv_total_memory_detail视图查询获得,最大动态内存:max_dynamic_memory,已使用的动态内存:dynamic_used_memory。 use_workload_manager参数关闭的情况下,如果打开bypass_workload_manager,则该参数也会生效,但是因为bypass_workload_manager是SIGHUP类型,reload方式设置后需要重启数据库才会使得当前功能生效。 recover_memory_percent和overload_memory_percent的值可以同时为0,除此之外,recover_memory_percent的值必须要小于overload_memory_percent,否则设置不会生效。
  • resilience_escape_user_permissions 参数说明:设置用户权限,以逗号分隔,可以设置多个,设置多个则表示多个特殊权限的用户都支持逃生能力,只设置一个则只针对一个特权用户进行逃生。sysadmin控制sysadmin用户的作业是否会被该逃生功能进行cancel处理;monadmin控制monadmin用户的作业是否会被该逃生功能进行cancel处理;默认为空,表示关闭sysadmin和monadmin用户的逃生能力。当前取值仅支持sysadmin,monadmin或者空字符串。 参数类型:字符串 参数单位:无 取值范围:长度大于0的字符串。 该参数目前只支持三个取值:sysadmin,monadmin或"",这几个值的具体含义如下: sysadmin:控制sysadmin用户的作业是否会被该逃生功能进行cancel处理。 monadmin:控制monadmin用户的作业是否会被该逃生功能进行cancel处理。 "":关闭sysadmin和monadmin用户的逃生能力。 默认值:"",表示关闭sysadmin和monadmin用户的逃生能力。 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。该参数可以同时设置多个值,以逗号分隔,例如resilience_escape_user_permissions = 'sysadmin,monadmin',也可以只设置一个值,例如resilience_escape_user_permissions = 'monadmin'。 例如,如下命令表示同时开启sysadmin和monadmin用户的逃生功能。 gs_guc reload -Z coordinator -Z datanode -N all -I all -c "resilience_escape_user_permissions='sysadmin,monadmin'" 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。 若该参数多次设置,以最新的设置生效。 该参数设置为取值范围中的任意值,普通用户都支持该逃生功能。 当用户同时具有sysadmin和monadmin时,resilience_escape_user_permissions必须设置为"sysadmin,monadmin"才能触发该用户的逃生功能。
  • query_mem 参数说明:设置执行作业所使用的内存。 参数类型:整型 参数单位:kB 取值范围:0 ~ 2147483647 如果设置的query_mem值大于32768(即32MB),在生成执行计划时,优化器会将作业的估算内存调整为该值。 如果设置值小于32768(即32MB),将强制设置为默认值0,此时优化器不会根据该值调整作业的估算内存。 默认值:0 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。例如,不带单位取值32768,表示query_mem为32768kB;带单位取值32MB,表示query_mem为32MB。取值如果要带单位,必须为kB、MB、GB。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • query_max_mem 参数说明:设置执行作业所能够使用的最大内存。 参数类型:整型 参数单位:kB 取值范围:0 ~ 2147483647 如果设置的query_max_mem值大于32768(即32MB),当作业执行时所使用内存超过该值时,将报错退出。 如果设置值小于32768(即32M),将设置为默认值0,此时不会根据该值限制作业的内存使用。 默认值:0 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。例如,不带单位取值32768,表示query_max_mem为32768kB;带单位取值32MB,表示query_max_mem为32MB。取值如果要带单位,必须为kB、MB、GB。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • bulk_write_ring_size 参数说明:数据并行导入使用的环形缓冲区的大小。 参数类型:整型 参数单位:kB 取值范围:16384 ~ 2147483647 默认值:2097152(即2GB) 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。例如,不带单位取值16384,表示bulk_write_ring_size为16384kB;带单位取值16MB,表示bulk_write_ring_size为16MB。取值如果要带单位,必须为kB、MB、GB。 设置建议:建议导入压力大的场景中增加DN中此参数取值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • temp_buffers 参数说明:设置每个数据库会话使用的LOCAL临时缓冲区的大小。 在每个会话的第一次使用临时表之前可以改变temp_buffers的值,之后的设置将是无效的。 一个会话将按照temp_buffers给出的限制,根据需要分配临时缓冲区。如果在一个并不需要大量临时缓冲区的会话里设置一个大的数值,其开销只是一个缓冲区描述符的大小。当缓冲区被使用,就会额外消耗8192字节。 参数类型:整型 参数单位:页(8kB) 取值范围:100 ~ 1073741823 默认值:128(即1MB) 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。例如,不带单位取值100,表示temp_buffers为100*8kB,即800kB;带单位取值16MB,表示temp_buffers为16MB。取值如果要带单位,必须为kB、MB、GB,且取值必须为8kB的整数倍。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • verify_log_buffers 参数说明:控制verifyLog buffer大小,只在page_version_check取值为persistence的情况下生效。verifyLog buffer内存按页面管理,每页8kB。 参数类型:整型 参数单位:页(8kB) 取值范围:4 ~ 262144 默认值:4(即32kB) 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。例如,取值131072表示verify_log_buffers为131072 * 8 kB = 1GB;取值131072kB表示verify_log_buffers为131072kB。取值如果带单位,必须为kB、MB、GB,且必须为8kB整数倍。 设置建议:根据系统硬件规格,进行相应的设置。 1GB(196核CPU/1536G内存,128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存,96核CPU/768G内存,80核CPU/640G内存,64核CPU/512G内存,60核CPU/480G内存,32核CPU/256G内存);512MB(16核CPU/128G内存);256MB(8核CPU/64G内存);128MB(4核CPU/32G内存);16MB(4核CPU/16G内存)。 设置不当的风险与影响:如果设置的内存参数数值过大,超过物理内存上限,将会出现数据库由于无法申请到足够的内存而无法成功启动的情况。
  • bulk_read_ring_size 参数说明:数据并行导出使用的环形缓冲区的大小。 参数类型:整型 参数单位:kB 取值范围:256~2147483647 默认值:16384(即16MB) 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。例如,不带单位取值1024,表示bulk_read_ring_size为1024kB;带单位取值1MB,表示bulk_read_ring_size为1MB。取值如果要带单位,必须为kB、MB、GB。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • standby_shared_buffers_fraction 参数说明:备实例所在服务器使用shared_buffers内存缓冲区大小的比例。 参数类型:浮点型 参数单位:无 取值范围:0.1 ~ 1.0 默认值:1 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • work_mem 参数说明:设置内部排序操作和Hash表在开始写入临时磁盘文件之前使用的内存大小。ORDER BY,DISTINCT和merge joins都要用到排序操作。Hash表在散列连接、散列为基础的聚集、散列为基础的IN子查询处理中都要用到。 对于复杂的查询,可能会同时并发运行好几个排序或者散列操作,每个都可以使用此参数所声明的内存量,不足时会使用临时文件。同样的,多个正在运行的会话可能会同时进行排序操作。因此使用的总内存可能是work_mem的好几倍。 参数类型:整型 参数单位:kB 取值范围:64 ~ 2147483647 默认值: 独立部署: 128MB(60核CPU/480G内存,32核CPU/256G内存,16核CPU/128G内存);64MB(8核CPU/64G内存);32MB(4核CPU/32G内存);16MB(4核CPU/16G内存) 金融版(标准型): CN:128MB(196核CPU/1536G内存,128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存,96核CPU/768G内存,80核CPU/640G内存,72核CPU/576G内存,64核CPU/512G内存,60核CPU/480G内存,32核CPU/256G内存,16核CPU/128G内存);64MB(8核CPU/64G内存) DN:256MB(196核CPU/1536G内存,128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存,96核CPU/768G内存);128MB(80核CPU/640G内存,72核CPU/576G内存,64核CPU/512G内存,60核CPU/480G内存,32核CPU/256G内存,16核CPU/128G内存);64MB(8核CPU/64G内存) 企业版: 128MB(196核CPU/1536G内存,128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存,96核CPU/768G内存,80核CPU/640G内存,80核CPU/512G内存,72核CPU/576G内存,64核CPU/512G内存,60核CPU/480G内存,32核CPU/256G内存,16核CPU/128G内存);64MB(8核CPU/64G内存) 金融版(数据计算型): 128MB(196核CPU/1536G内存,128核CPU/1024G内存,96核CPU/768G内存,72核CPU/576G内存,64核CPU/512G内存);64MB(32核CPU/256G内存) 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。例如,不带单位取值1024,表示work_mem为1024kB;带单位取值1MB,表示work_mem为1MB。取值如果要带单位,必须为kB、MB、GB。 设置建议: 依据查询特点和并发来确定,一旦work_mem限定的物理内存不够,算子运算数据将写入临时表空间,带来5-10倍的性能下降,查询响应时间从秒级下降到分钟级。 对于串行无并发的复杂查询场景,平均每个查询有5-10关联操作,建议work_mem=50%内存/10。 对于串行无并发的简单查询场景,平均每个查询有2-5个关联操作,建议work_mem=50%内存/5。 对于并发场景,建议work_mem=串行下的work_mem/物理并发数。 对于BitmapScan的哈希表也会受到work_mem的限制,但不会被严格管控下盘。完全Lossify的情况下,哈希表每占用1MB的内存,对应一次BitmapHeapScan的16GB的页面,达到work_mem上限后,会按此比例随数据访问量线性增长。 设置不当的风险与影响:默认值即推荐值,不建议修改。修改必须详细确认参数的规格限制,并考虑硬件资源是否足够,否则可能导致集群异常。
  • max_prepared_transactions 参数说明:设置可以同时处于“预备”状态的事务的最大数目。增加此参数的值会使 GaussDB 比系统默认设置需要更多的System V共享内存。 参数类型:整型 参数单位:无 取值范围:0 ~ 262143 默认值: 独立部署: 1200(60核CPU/480G内存,32核CPU/256G内存);800(16核CPU/128G内存);400(8核CPU/64G内存);300(4核CPU/32G内存);200(4核CPU/16G内存) 金融版(标准型): CN:1200(196核CPU/1536G内存);900(128核CPU/1024G内存,104核CPU/1024G内存);800(96核CPU/1024G内存,96核CPU/768G内存,80核CPU/640G内存,72核CPU/576G内存,64核CPU/512G内存,60核CPU/480G内存):400(32核CPU/256G内存,16核CPU/128G内存);200(8核CPU/64G内存) DN:4200(196核CPU/1536G内存,128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存,96核CPU/768G内存,80核CPU/640G内存,72核CPU/576G内存,64核CPU/512G内存,60核CPU/480G内存):2200(32核CPU/256G内存);1200(16核CPU/128G内存);800(8核CPU/64G内存) 企业版: CN:1200(196核CPU/1536G内存);900(128核CPU/1024G内存,104核CPU/1024G内存);800(96核CPU/1024G内存,96核CPU/768G内存,80核CPU/640G内存,80核CPU/512G内存,72核CPU/576G内存,64核CPU/512G内存,60核CPU/480G内存);400(32核CPU/256G内存,16核CPU/128G内存);200(8核CPU/64G内存) DN:1800(196核CPU/1536G内存,128核CPU/1024G内存,104核CPU/1024G内存);1200(96核CPU/1024G内存,96核CPU/768G内存,80核CPU/640G内存,80核CPU/512G内存,72核CPU/576G内存,64核CPU/512G内存,60核CPU/480G内存):800(32核CPU/256G内存);400(16核CPU/128G内存,8核CPU/64G内存) 金融版(数据计算型): CN:1200(196核CPU/1536G内存);800(128核CPU/1024G内存,96核CPU/768G内存);400(72核CPU/576G内存,64核CPU/512G内存);200(32核CPU/256G内存) DN:2400(196核CPU/1536G内存,128核CPU/1024G内存,96核CPU/768G内存);1200(72核CPU/576G内存);800(64核CPU/512G内存);400(32核CPU/256G内存)
  • page_missing_dirty_check 参数说明:页面漏置脏校验的功能开关,检测被修改页面是否忘记置脏。page_missing_dirty_check受控于page_version_check,如果page_version_check设置为off,则page_missing_dirty_check设置为on时也不生效。 参数类型:布尔型 参数单位:无 取值范围: on:表示进行页面漏置脏校验。 off:表示不进行页面漏置脏校验。 默认值:off 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:建议在测试场景中开启此开关,能够最大限度在非生产环境中排查出漏置脏代码BUG;在现网时默认关闭页面漏置脏,避免带来额外开销,进而影响性能。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • page_version_max_num 参数说明:内存中所能缓存的页面版本信息的最大数量,在page_version_check取值不为OFF的情况下生效。每个page_version内存占用36字节,请注意内存使用量。 参数类型:整型 参数单位:个 取值范围:0 ~ 2147483647。 0:page_version_check为ON的情况下,根据shared_buffers大小自动计算,page_version_max_num=shared_buffers*2。例如,32M shared_buffers对应4096个buffer,所以页面版本信息数量设置为8192个。 非0:将强制使用手动配置的数值。page_version_check为ON的情况下,不允许小于page_version_partitions的16倍,如果小于,则会被强制设置为page_version_partitions*16。 默认值:0 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:内存有限的情况下,合理的数量应该是shared_buffers数量的2倍到4倍。对性能有较高要求且内存足够的情况下,建议手动设置为shared_buffers数量的4倍以上,且与page_version_partitions的比值范围为[256, 1024]。 设置不当的风险与影响:如果设置的内存参数数值过大,超过物理内存上限,将会出现数据库由于无法申请到足够的内存而无法成功启动的情况。
  • page_version_recycler_thread_num 参数说明:控制回收和校验页面版本信息的线程数量,只在page_version_check取值不为OFF的情况下生效。 参数类型:整型 参数单位:个 取值范围:0 ~ 16 page_version_check参数值为memory时: 0:根据page_version_partitions自动计算,page_version_recycler_thread_num=page_version_partitions/16384。若自动计算结果大于4,则强制设置为4。 非0:将强制使用手动配置的数值。 不允许大于page_version_partitions,如果大于,则会被强制设置为page_version_partitions的值。 page_version_check参数值为persistence时: 小于2时将设置为2,大于等于2时强制使用手动配置的参数。 默认值:0 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • enable_cached_context 参数说明:控制缓存内存上下文的个数,在为0时内存上下文优化框架不生效。 参数类型:整型 参数单位:个 取值范围:0~1024 设置为0时内存上下文优化框架不生效。 设置为非0值时,内存上下文优化框架生效,设置的值为缓存内存上下文的个数。 默认值:128 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • page_version_partitions 参数说明:内存中缓存页面版本信息的哈希表分区数量,分区数量直接影响哈希查询效率和哈希冲突概率。 参数类型:整型 参数单位:个 取值范围:0 ~ 2097152 0:page_version_check为ON的情况下,根据page_version_max_num自动计算,page_version_partitions=page_version_max_num/512。若自动计算结果小于4,则强制设置为4。 非0:将强制使用手动配置的数值。page_version_check为ON的情况下,最小值为4。如果取值小于4,则会被强制设置为4。 默认值:0 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:对性能有较高要求的情况下,建议手动设置为page_version_max_num的256分之一到1024分之一左右。 设置不当的风险与影响:如果设置的分区数量太大,会降低哈希查询效率;设置的分区数量太小,会增加哈希冲突的概率。
  • local_syscache_threshold 参数说明:单个session的系统缓存占用内存的最大值,当实际系统缓存大小超过该阈值时,会触发内存淘汰。如果参数enable_global_plancache已打开,则local_syscache_threshold设置值小于16MB时不会生效,此时为保证GPC生效,该参数取值最小为16MB。如果参数enable_global_syscache和enable_thread_pool已打开,则该参数描述的是当前线程和绑定到当前线程上的session缓存的总大小。 参数类型:整型 参数单位:kB 取值范围:1024 ~ 524288 默认值: 独立部署:16MB 金融版(标准型): 32MB(196核CPU/1536G内存,128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存,96核CPU/768G内存,80核CPU/640G内存);16MB(72核CPU/576G内存,64核CPU/512G内存,60核CPU/480G内存,32核CPU/256G内存,16核CPU/128G内存,8核CPU/64G内存) 企业版: 32MB(196核CPU/1536G内存,128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存,96核CPU/768G内存,80核CPU/640G内存,80核CPU/512G内存,72核CPU/576G内存,64核CPU/512G内存);16MB(60核CPU/480G内存,32核CPU/256G内存,16核CPU/128G内存,8核CPU/64G内存) 金融版(数据计算型):16MB
  • max_process_memory 参数说明:设置一个数据库节点可用的最大物理内存。 参数类型:整型 参数单位:kB 取值范围:2097152 ~ 2147483647 默认值: 独立部署:360GB(60核CPU/480G内存);192GB(32核CPU/256G内存);96GB(16核CPU/128G内存);40GB(8核CPU/64G内存);20GB(4核CPU/32G内存);10GB(4核CPU/16G内存) 金融版(标准型): CN:300GB(196核CPU/1536G内存);200GB(128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存);160GB(96核CPU/768G内存);130GB(80核CPU/640G内存);120GB(72核CPU/576G内存);100GB(64核CPU/512G内存,60核CPU/480G内存);50GB(32核CPU/256G内存);20GB(16核CPU/128G内存);10GB(8核CPU/64G内存) DN:550GB(196核CPU/1536G内存);350GB(128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存);260GB(96核CPU/768G内存);220GB(80核CPU/640G内存);200GB(72核CPU/576G内存);180GB(64核CPU/512G内存);160GB(60核CPU/480G内存);80GB(32核CPU/256G内存);40GB(16核CPU/128G内存);20GB(8核CPU/64G内存) 企业版: CN:200GB(196核CPU/1536G内存);150GB(128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存);110GB(96核CPU/768G内存);90GB(80核CPU/640G内存);80GB(72核CPU/576G内存);75GB(80核CPU/512G内存,64核CPU/512G内存);70GB(60核CPU/480G内存);35GB(32核CPU/256G内存);15GB(16核CPU/128G内存);9GB(8核CPU/64G内存) DN:400GB(196核CPU/1536G内存);250GB(128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存);190GB(96核CPU/768G内存);160GB(80核CPU/640G内存);140GB(72核CPU/576G内存);125GB(80核CPU/512G内存,64核CPU/512G内存);120GB(60核CPU/480G内存);60GB(32核CPU/256G内存);25GB(16核CPU/128G内存);15GB(8核CPU/64G内存) 金融版(数据计算型): CN:160GB(196核CPU/1536G内存);120GB(128核CPU/1024G内存);100GB(96核CPU/768G内存);60GB(72核CPU/576G内存,64核CPU/512G内存);20GB(32核CPU/256G内存) DN:300GB(196核CPU/1536G内存);200GB(128核CPU/1024G内存);150GB(96核CPU/768G内存);110GB(72核CPU/576G内存);100GB(64核CPU/512G内存);40GB(32核CPU/256G内存) 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。例如,不带单位取值2097152,表示max_process_memory为2097152kB;带单位取值2GB,表示max_process_memory为2GB。取值如果要带单位,必须为kB、MB、GB。 设置建议:该参数目的是尽可能保证系统的可靠性,不会因数据库内存膨胀导致节点OOM。DN上该数值需要根据系统物理内存及单节点部署主DN个数决定,建议计算公式如下:(物理内存大小 – vm.min_free_kbytes)* 0.7 / (n+主DN个数)。这个公式中提到vm.min_free_kbytes,其含义是预留操作系统内存供内核使用,通常用作操作系统内核中通信收发内存分配,至少为5%内存,即max_process_memory = 物理内存 * 0.665 / (n+主DN个数)。其中,当集群规模小于256时,n=1;当集群规模大于256且小于512时,n=2;当集群规模超过512时,n=3;独立部署时,n=0。CN上该数值内存可设置与DN数值一样。 设置不当的风险与影响:若该值设置不合理,比如大于服务器物理内存时,可能导致操作系统OOM问题。
  • enable_memory_context_control 参数说明:设置是否启用检查内存上下文是否超过给定限制的功能。仅适用于DEBUG版本。 参数类型:布尔型 参数单位:无 取值范围: on:表示启用最大内存上下文限制检查功能。 off:表示关闭最大内存上下文限制检查功能。 默认值:off 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • uncontrolled_memory_context 参数说明:启用检查内存上下文是否超过给定限制的功能时,设置不受此功能约束的内存上下文。仅适用于DEBUG版本。 查询该参数时,会在参数值的最前面添加标题含义字符串“MmgrMemoryController white list:”。 参数类型:字符串 参数单位:无 取值范围:字符串 默认值:"" 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • page_version_check 参数说明:基于页面版本信息,进行底层存储故障校验和页面漏置脏校验的功能总开关,page_version_check是一个三级开关。其中,底层存储故障校验功能是检测从底层存储读取的页面是否为正确版本,防止磁盘掉电等故障情况导致的页面版本信息丢失;页面漏置脏校验功能是检测被修改页面是否忘记置脏,它有一个单独开关page_missing_dirty_check进行控制。 参数类型:枚举类型 参数单位:无 取值范围: off:表示完全关闭底层存储故障校验和页面漏置脏校验的功能开关。 memory:表示打开纯内存态的页面版本校验功能(即底层存储故障校验和页面漏置脏校验),页面版本信息只缓存在内存当中,重启丢失。 persistence:表示打开持久态的页面版本校验功能(即底层存储故障校验和页面漏置脏校验),页面版本信息会持久化到文件中,重启不丢失。 默认值:persistence 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:根据不同机器规格,建议如下设置:off(4核CPU/16GB内存、4核CPU/32GB内存、8核CPU/64GB内存);persistence(16核CPU/128GB内存、32核CPU/256GB内存、60核CPU/480GB内存、64核CPU/512GB内存、72核CPU/576GB内存、80核CPU/640GB内存、96核CPU/768GB内存、96核CPU/1024GB内存、104核CPU/1024GB内存、128核CPU/1024GB内存、196核CPU/1536GB内存)。 设置不当的风险与影响:开关设置为memory及persistence时,对性能有一定影响,机器规格越小,影响越大(参考:16核CPU/128GB内存,TPCC模型影响7%左右)。在系统需要频繁重启的场景下,建议设置为persistence,能够确保页面版本信息不丢失,但会进一步影响性能。
  • memorypool_enable 参数说明:设置是否允许使用内存池。 参数类型:布尔型 参数单位:无 取值范围: on:表示允许使用内存池。 off:表示不允许使用内存池。 默认值:off 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • memorypool_size 参数说明:设置内存池大小。 参数类型:整型 参数单位:kB 取值范围:131072 ~ 1073741823 默认值:524288(即512MB) 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。例如,不带单位取值131072,表示memorypool_size为131072kB;带单位取值128MB,表示memorypool_size为128MB。取值如果要带单位,必须为kB、MB、GB。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • enable_memory_limit 参数说明:设置是否启用逻辑内存管理模块。 由于存在固定开销,即shared_buffers和元数据(大约200MB),若max_process_memory减去固定开销小于2GB,GaussDB会强制把enable_memory_limit设置为off。其中元数据是GaussDB内部使用的内存,和部分并发参数,如max_connections,thread_pool_attr,max_prepared_transactions等参数相关。 参数类型:布尔型 参数单位:无 取值范围: on:表示启用逻辑内存管理模块。 off:表示不启用逻辑内存管理模块。 默认值:on 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:当该值为off时,不对数据库使用的内存做限制,在大并发或者复杂查询时,使用内存过多,可能导致操作系统OOM问题。
  • 示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 --创建一个表tb_for_label。 gaussdb=# CREATE TABLE tb_for_label(col1 text, col2 text, col3 text); --基于表创建资源标签。 gaussdb=# CREATE RESOURCE LABEL IF NOT EXISTS table_label add TABLE(public.tb_for_label); --再次创建已存在的表资源标签,对比加参数IF NOT EXISTS与不加IF NOT EXISTS参数的区别。 gaussdb=# CREATE RESOURCE LABEL IF NOT EXISTS table_label add TABLE(public.tb_for_label); NOTICE: table_label label already defined, skipping CREATE RESOURCE LABEL gaussdb=# CREATE RESOURCE LABEL table_label add TABLE(public.tb_for_label); ERROR: table_label label already defined --基于列创建资源标签。 gaussdb=# CREATE RESOURCE LABEL IF NOT EXISTS column_label add COLUMN(public.tb_for_label.col1); --创建一个模式schema_for_label。 gaussdb=# CREATE SCHEMA schema_for_label; --基于模式创建资源标签。 gaussdb=# CREATE RESOURCE LABEL IF NOT EXISTS schema_label add SCHEMA(schema_for_label); --创建一个视图view_for_label。 gaussdb=# CREATE VIEW view_for_label AS SELECT 1; --基于视图创建资源标签。 gaussdb=# CREATE RESOURCE LABEL IF NOT EXISTS view_label add VIEW(view_for_label); --创建一个函数func_for_label。 gaussdb=# CREATE FUNCTION func_for_label RETURNS TEXT AS $$ SELECT col1 FROM tb_for_label; $$ LANGUAGE SQL; --基于函数创建资源标签。 gaussdb=# CREATE RESOURCE LABEL IF NOT EXISTS func_label add FUNCTION(func_for_label); --删除表资源标签table_label。 gaussdb=# DROP RESOURCE LABEL IF EXISTS table_label; --删除列资源资源标签column_label。 gaussdb=# DROP RESOURCE LABEL IF EXISTS column_label; --删除函数资源标签func_for_label。 gaussdb=# DROP FUNCTION func_for_label; --删除视图资源标签view_for_label。 gaussdb=# DROP VIEW view_for_label; --删除模式资源标签schema_for_label。 gaussdb=# DROP SCHEMA schema_for_label; --删除表tb_for_label。 gaussdb=# DROP TABLE tb_for_label;
  • hll_default_log2explicit 参数说明:该参数可以用来设置从Explicit模式到Sparse模式的默认阈值大小。 参数类型:整型 参数单位:无 取值范围:0 ~ 12 0:表示跳过Explicit模式。 1 ~ 12:表示在基数到达2hll_default_log2explicit时切换模式。 默认值:10 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值,可以根据实际业务需要进行调整。 设置不当的风险与影响:设置过小可能导致无法达到所需的精度要求,而设置过大则可能导致资源浪费。
  • hll_default_log2sparse 参数说明:该参数可以用来设置从Sparse模式到Full模式的默认阈值大小。 参数类型:整型 参数单位:无 取值范围:0 ~ 14 0:表示跳过Explicit模式。 1~14:表示在基数到达2hll_default_log2sparse时切换模式。 默认值:12 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值,可以根据实际业务需要进行调整。 设置不当的风险与影响:设置过小可能导致无法达到所需的精度要求,而设置过大则可能导致资源浪费。
  • hll_duplicate_check 参数说明:该参数可以用来指定是否默认开启duplicatecheck。 参数类型:整型 参数单位:无 取值范围:0 ~ 1 0:表示默认关闭。 1:表示默认开启。 默认值:0 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值,可以根据实际业务需要进行调整。 设置不当的风险与影响:开启可能会消耗更多资源来进行duplicate check,但会提高distinct值计算的准确性。
  • hll_default_log2m 参数说明:该参数可以指定hll数据结构桶的个数。桶的个数会影响hll计算distinct值的精度,桶的个数越多,误差越小。误差范围为:[-1.04/2log2m*1/2,+1.04/2log2m*1/2]。 参数类型:整型 参数单位:无 取值范围:10 ~ 16 默认值:14 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值,可以根据实际业务需要进行调整。 设置不当的风险与影响:设置过小可能导致无法达到所需的精度要求,而设置过大则可能导致资源浪费。
  • GV_INSTANCE GV_INSTANCE视图显示当前数据库实例的信息。默认只有系统管理员权限才可以访问,普通用户需要授权才可以访问。该视图同时存在于PG_CATA LOG 和SYS Schema下。具体字段信息如表1所示。 表1 GV_INSTANCE字段 名称 类型 描述 inst_id oid 当前数据库oid。 instance_number oid 当前数据库oid。 instance_name character varying(16) 当前数据库名。 host_name character varying(64) 暂不支持,值为NULL。 version character varying(17) 暂不支持,值为NULL。 version_legacy character varying(17) 暂不支持,值为NULL。 version_full character varying(17) 暂不支持,值为NULL。 startup_time date 暂不支持,值为NULL。 status character varying(12) 暂不支持,值为NULL。 parallel character varying(3) 暂不支持,值为NULL。 thread# numeric 暂不支持,值为NULL。 archiver character varying(7) 暂不支持,值为NULL。 log_switch_wait character varying(15) 暂不支持,值为NULL。 logins character varying(10) 暂不支持,值为NULL。 shutdown_pending character varying(3) 暂不支持,值为NULL。 database_status character varying(17) 暂不支持,值为NULL。 instance_role character varying(18) 暂不支持,值为NULL。 active_state character varying(9) 暂不支持,值为NULL。 blocked character varying(3) 暂不支持,值为NULL。 con_id numeric 暂不支持,值为NULL。 instance_mode character varying(11) 暂不支持,值为NULL。 edition character varying(7) 暂不支持,值为NULL。 family character varying(80) 暂不支持,值为NULL。 database_type character varying(15) 暂不支持,值为NULL。 父主题: 其他系统视图
共100000条