华为云用户手册

  • enable_control_group 参数说明:设置是否开启Cgroups功能。此参数需在CN和DN同时应用。 参数类型:布尔型 参数单位:无 取值范围: on:表示打开Cgroups功能。 off:表示关闭Cgroups功能。 默认值:on 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置,当使用表中的方式二来修改参数值时,新参数值只能对更改操作执行后启动的线程生效。 设置建议:对于后台线程以及线程复用执行的新作业,该值的改动不会生效,如果希望这类线程即时识别参数变化,可以使用kill session或重启节点的方式来实现。 设置不当的风险与影响:同时开启该参数和资源管控功能(use_workload_manager)后会使用户资源管控功能生效,降低用户执行的作业的性能。
  • GLOBAL_WLM_RESPOOL_CPU_INFO 该视图用于查看分布式下所有节点实时的资源池CPU使用情况。查询该视图需要sysadmin权限或者monadmin权限。 该视图只能查询主DN节点上的数据,备节点需要登录到备节点上后使用系统函数gs_wlm_respool_cpu_info()查询CPU使用情况。 表1 GLOBAL_WLM_RESPOOL_CPU_INFO字段 名称 类型 描述 node_name name 节点名称。 respool_name name 资源池名称。 control_group name cgroup名称。 cpu_affinity name CPU绑定core的数值。 cpu_usage integer 资源池的CPU使用率。 说明: 对于CN和DN混合部署的场景,CN和DN共享同一份CPU资源,因此CN和DN的cpu_usage显示相同,对于CN和DN独立部署场景,会独立显示。 示例: 1 2 3 4 5 6 7 8 gaussdb=# SELECT * FROM GLOBAL_WLM_RESPOOL_CONCURRENCY_INFO; node_name | respool_name | control_group | cpu_affinity | cpu_usage --------------+--------------+---------------------+--------------+----------- coordinator1 | default_pool | DefaultClass:Medium | 0-71 | 0 datanode1 | default_pool | DefaultClass:Medium | 0-71 | 0 datanode2 | default_pool | DefaultClass:Medium | 0-71 | 0 datanode3 | default_pool | DefaultClass:Medium | 0-71 | 0 (4 rows) 父主题: 负载管理
  • enable_log_copy_illegal_chars 参数说明:使用gs_loader导入数据及COPY导入导出数据时,遇到非法编码的字符时,是否向数据库运行日志中写入记录。 参数类型:布尔型 参数单位:无 取值范围:on、off。 表3 兼容性配置项 兼容性配置项 兼容性行为控制 on 每出现一行包括非法编码字符的数据,都会向数据库运行日志中写入一条记录。 off 不向数据库运行日志中写入非法编码字符相关记录。 默认值:on 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。 设置建议:无特殊情况时建议配置为默认值,仅对数据库性能及磁盘带宽有要求时设置为off。 设置不当的风险与影响:设置为off时将不会在运行日志中写入非法编码字符相关记录,影响可定位能力。
  • copy_special_character_version 参数说明:控制使用COPY导入导出数据时对非法编码的字符处理的相关表现。 参数类型:字符串 参数单位:无 取值范围:""、"no_error"、"per_byte"。 表2 兼容性配置项 兼容性配置项 兼容性行为控制 no_error 使用COPY导入数据文件时,当文件编码与服务端编码相同时,对数据文件中不满足编码信息的数据进行容错处理,不报错,并直接按照原编码插入表中。 per_byte 使用COPY导出文本格式的数据文件时,对文件编码为GBK或ZHS16GBK文件的处理方式。 设置per_byte后,在导出数据时一次导出一个字节数据,否则一次导出两个字节数据(GBK编码下,一个字符占两个字节)。 空字符串 参数默认配置,不影响任何功能使用,做前向兼容处理。即COPY存在非法编码时报错。 默认值:"" 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。使用gsql连接数据库,使用set方式设置时不区分大小写,使用gs_guc设置时仅能设置小写。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。 为保证导入表中数据的合法性,COPY中需要对数据编码的合法性进行校验。当开启此参数后,会屏蔽非法校验操作并导致字段内出现非法字符,请酌情考虑开启此参数。 当前屏蔽数据编码校验仅在服务端编码与数据编码保持一致时生效,即copy_special_character_version='no_error'时,数据库服务端编码须与数据文件编码保持一致,否则会报错;未指定数据编码时,数据编码默认为客户端编码。 二进制模式下,copy_special_character_version='no_error'时,仅对TEXT、CHAR、VARCHAR、NVARCHAR2、CLOB类型的字段生效。 此参数仅在UTF-8、GB18030、GB18030_2022、ZHS16GBK、LATIN1字符集数据库下使用生效。 客户端编码与服务端编码都为GBK或ZHS16GBK时,当数据库内存在非法编码的数据时,如果不设置copy_special_character_version为per_byte,导出的数据文件中可能会存在预期外的数据。 设置copy_special_character_version值为'no_error'的优先级高于COPY内COMPATIBLE_ILLEGAL_CHARS参数。
  • support_binary_copy_version 参数说明:使用COPY TO的BINARY模式导出数据时,是否包含当前数据库服务端的编码信息。 参数类型:字符串 参数单位:无 取值范围:""、"header_encoding"。 表1 兼容性配置项 兼容性配置项 兼容性行为控制 header_encoding 使用COPY TO的BINARY模式导出数据时,二进制文件头中包含当前数据库服务端的编码信息。 空字符串 做前向兼容处理时配置,以原二进制格式进行导出。 默认值:"header_encoding" 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。 设置建议:无特殊情况时建议配置为默认取值,仅做前向兼容时需另行配置为空。 设置不当的风险与影响:设置为空字符串时,导出结果中不包含服务端编码信息,在需要编码信息的场景下,需要用户自行查询并记录。
  • gds_debug_mod 参数说明:为了增强对Gauss Data Service(以下简称GDS)相关问题的分析定位能力,可以通过此参数选择是否开启GDS的debug功能。参数开启后,将在集群节点对应的日志中输出GDS每次收发的包裹类型、命令交互的对端以及其他交互相关的细节信息,方便记录Gaussdb端状态机的状态跳转,以及目前所处的状态信息。 参数类型:布尔型 参数单位:无 取值范围: on:表示开启GDS的debug功能。 off:表示不开启GDS的debug功能。 默认值:off 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。 设置建议:建议仅在定位GDS问题时开启。 设置不当的风险与影响:此参数打开会输出额外日志,增加日志I/O开销,进而影响性能和日志的信息有效性。
  • safe_data_path 参数说明:设置初始用户以外的路径前缀限制,目前包括copy和高级包路径限制。 参数类型:字符串 参数单位:无 取值范围:合法目录路径,需要小于4096个字符。 默认值:"" 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:尽量控制safe_data_path路径覆盖有限范围,不要设置过大的路径范围。 设置不当的风险与影响:当enable_copy_server_files打开,并且safe_data_path路径范围设置过大时,可能导致恶意用户访问到服务器上的敏感文件。 如果safe_data_path目录下存在软链接文件,则会按软链接实际指向的文件路径进行处理,实际路径如果不在safe_data_path下会报错处理。 如果safe_data_path目录下存在硬链接文件,则可以正常使用。为安全起见,请谨慎使用硬链接文件,切勿在safe_data_path目录下创建指向目录以外的硬链接文件,并确保safe_data_path目录权限最小化。
  • raise_errors_if_no_files 参数说明:设置导入时是否区分“导入文件记录数为空”和“导入文件不存在”。该参数开启时,“导入文件不存在”的时候, GaussDB 将抛出“文件不存在”的错误。 参数类型:布尔型 参数单位:无 取值范围: on:表示导入时区分“导入文件记录数为空”和“导入文件不存在”。 off:表示导入时不区分“导入文件记录数为空”和“导入文件不存在”。 默认值:off 设置方式:该参数属于SUSET类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。 raise_errors_if_no_files参数只在分布式GDS工具使用场景有意义。
  • enable_copy_server_files 参数说明:是否开启copy服务器端文件的权限。 参数类型:布尔型 参数单位:无 取值范围: on:表示开启copy服务端文件的权限,允许具有SYSADMIN权限的用户或继承了内置角色gs_role_copy_files权限的用户执行COPY FROM FILENAME或COPY TO FILENAME命令。 off:表示不开启copy服务端文件的权限,只允许初始用户执行COPY FROM FILENAME或COPY TO FILENAME命令。 默认值:off 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:仅在需要copy服务端文件时打开,打开后建议同步设置safe_data_path。 设置不当的风险与影响:打开该参数后,如果safe_data_path设置路径范围过大,可能导致恶意用户访问到服务器上的敏感文件。
  • enable_early_free 参数说明:控制是否可以进行算子内存的提前释放。 参数类型:布尔型 参数单位:无 取值范围: on:表示支持算子内存提前释放。 off:表示不支持算子内存提前释放。 默认值:on 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • max_stack_depth 参数说明:设置GaussDB执行堆栈的最大安全深度。之所以需要这个安全界限,是因为在服务器里,并非所有程序都检查了堆栈深度,而是只在可能递规的过程,比如表达式计算之类的过程中才进行检查。 参数类型:整型 参数单位:kB 取值范围:100 ~ 2147483647 默认值: (ulimit -s的设置)- 640 KB的值大于等于2MB时,此参数的默认值为2MB。 (ulimit -s的设置)- 640 KB的值小于2MB时,此参数的默认值为(ulimit -s的设置)- 640 KB。 设置方式:该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。例如,不带单位取值1024,表示max_stack_depth为1024kB;带单位取值1MB,表示max_stack_depth为1MB。取值如果要带单位,必须为kB、MB、GB。 设置建议: 数据库需要预留640KB堆栈深度,因此,此参数的最佳设置是等于操作系统内核允许的最大值(即ulimit -s的设置)- 640KB。 数据库未运行前设置的该参数值大于(ulimit -s的设置)- 640 KB时会导致数据库启动失败;数据库运行阶段设置该参数值大于(ulimit -s的设置)- 640 KB时该值不生效。 因为并非所有的操作都能够被检测到,所以建议用户在此设置一个明确的值。 默认值最大为2MB,这个值相对比较小,不容易导致系统崩溃。 设置不当的风险与影响: (ulimit -s的设置)-640KB小于此参数取值范围的最小值时,会导致数据库启动失败。 如果设置此参数的值大于实际的内核限制,则一个正在运行的递归函数可能会导致一个独立的服务器进程崩溃。
  • 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中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
共100000条