华为云用户手册

  • GS_GLOBAL_ARCHIVE_STATUS GS_GLOBAL_ARCHIVE_STATUS视图描述DN和所有分片的归档进度,获取分片名称(node_name)、归档位置(restart_lsn),实际进行归档的主/备机名称(archive_node)和当前日志位置(current_xlog_location)。查询此视图需要数据库开启归档功能,并从主DN节点进行查询。 表1 GS_GLOBAL_ARCHIVE_STATUS字段 名称 类型 描述 node_name text 分片名称。 restart_lsn text 归档位置。 archive_node text 实际进行归档的主/备机名称。 current_xlog_location text 当前日志位置。 父主题: 其他系统视图
  • allocate_mem_cost 参数说明:设置优化器计算Hash Join创建Hash表开辟内存空间所需的开销,供Hash join估算不准时调优使用。该参数可在PDB级别设置。 参数类型:浮点型 参数单位:无 取值范围:0 ~ DBL_MAX 默认值:0。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值,仅在Hash Join估算不准确时调整该参数。 设置不当的风险与影响:错误地设置该参数可能导致Hash Join估算不准确,部分场景下影响查询性能。若要更改,请谨慎操作,避免因误操作产生意料之外的风险。
  • cpu_tuple_cost 参数说明:设置优化器计算在一次查询中处理每一行数据的开销。该参数可在PDB级别设置。 参数类型:浮点型 参数单位:无 取值范围:0 ~ DBL_MAX 默认值:0.01。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:该参数影响一次查询中对处理一行数据的性能开销评估,错误地设置该参数会影响优化器对生成计划的选择,部分场景下影响查询性能。若要更改,请谨慎操作,避免因误操作产生意料之外的风险。
  • cpu_operator_cost 参数说明:设置优化器计算一次查询中执行一个操作符或函数的开销。该参数可在PDB级别设置。 参数类型:浮点型 参数单位:无 取值范围:0 ~ DBL_MAX 默认值:0.0025。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:该参数影响一次查询中对操作符或函数的性能开销评估,错误地设置该参数会影响优化器对生成计划的选择,部分场景下影响查询性能。若要更改,请谨慎操作,避免因误操作产生意料之外的风险。
  • effective_cache_size 参数说明:设置优化器在一次单一的查询中可用的磁盘缓冲区的有效大小。该参数可在PDB级别设置。 设置这个参数,要考虑 GaussDB 的共享缓冲区以及内核的磁盘缓冲区,还要考虑预计在不同表之间的并发查询数目,因为它们将共享可用的空间。 这个参数对GaussDB分配的共享内存大小没有影响,它也不会使用内核磁盘缓冲,它只用于估算。该数值用磁盘页来计算,通常每个页面是8192字节。 参数类型:整型 参数单位:页面(8kB) 取值范围: 方式一:设置为不带单位的整数,整数范围为1~2147483647。例如设置为200,表示200个页面,即200*8kB的大小。 方式二:设置为带单位的值,范围为1*8kB~2147483647*8kB。例如设置为200MB,表示200MB的大小。单位仅限于“kB”、“MB”和“GB”。 默认值: 280GB(196核CPU/1536G内存);180GB(128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存);135GB(96核CPU/768G内存);100GB(80核CPU/640G内存);90GB(64核CPU/512G内存);80GB(60核CPU/480G内存);40GB(32核CPU/256G内存);18GB(16核CPU/128G内存);8GB(8核CPU/64G内存);4GB(4核CPU/32G内存);2GB(4核CPU/16G内存)。在PDB场景内,若未设置该参数,则继承来自全局的设置。
  • cpu_index_tuple_cost 参数说明:设置优化器计算在一次索引扫描中处理每条索引的开销。该参数可在PDB级别设置。 参数类型:浮点型 参数单位:无 取值范围:0 ~ DBL_MAX 默认值:0.005。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:该参数影响一次查询中对索引扫描的性能开销评估,错误地设置该参数会影响优化器对生成计划的选择,部分场景下影响查询性能。若要更改,请谨慎操作,避免因误操作产生意料之外的风险。
  • random_page_cost 参数说明:设置优化器计算一次非顺序抓取磁盘页面的开销。该参数可在PDB级别设置。 参数类型:浮点型 参数单位:无 取值范围:0 ~ DBL_MAX 默认值:4。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:参见说明部分。 设置不当的风险与影响:该参数影响一次查询中对随机抓取磁盘页面的性能开销评估,错误地设置该参数会影响优化器对生成计划的选择,部分场景下影响查询性能。若要更改,请谨慎操作,避免因误操作产生意料之外的风险。 虽然服务器允许将random_page_cost设置的比seq_page_cost小,但是物理上实际不受影响。如果所有数据库都位于随机访问内存中,两者设置为相等很合理。因为在此种情况下,非顺序抓取页并没有副作用。同样,在缓冲率很高的数据库上,应该相对于CPU参数同时降低这两个值,因为获取内存中的页要比通常情况下开销小很多。 对于指定表空间中的表和索引,可以通过设置同名的表空间参数覆盖库级别的该参数值,即表空间级别该参数的优先级高于库级别该参数的优先级。 相对于seq_page_cost,减少这个值将导致系统更倾向于使用索引扫描,而增加这个值使得索引扫描开销比较高。可以通过同时增加或减少这两个值来调整磁盘I/O相对于CPU的开销。
  • seq_page_cost 参数说明:设置优化器计算一次顺序磁盘页面抓取的开销。该参数可在PDB级别设置。 参数类型:浮点型 参数单位:无 取值范围:0 ~ DBL_MAX 默认值:1。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:该参数影响一次查询中对顺序抓取磁盘页面的性能开销评估,错误地设置该参数会影响优化器对生成计划的选择,部分场景下影响查询性能。若要更改,请谨慎操作,避免因误操作产生意料之外的风险。
  • 为什么REVOKE某个用户的CONNECT ON DATABASE权限后还可以登录数据库? 答:使用REVOKE CONNECT ON DATABASE dbname FROM u1命令撤销u1的权限后,因为数据库的CONNECT权限授予了public,需要指定public来实现。 GaussDB提供了一个隐式定义的拥有所有角色组public,所有创建的用户和角色默认拥有public所拥有的权限。需要撤销或重新授予用户和角色public的权限,可通过GRANT和REVOKE指定关键字public实现。 GaussDB会将某些类型的对象上的权限授予public。默认情况以下这些对象的权限会授予public: 数据库的CONNECT权限。 CREATE TEMP TABLE权限。 函数的EXECUTE权限。 语言和数据类型(包括域)的USAGE权限。 对象的拥有者可以撤销默认授予public的权限,并授予权限给其他用户。 具体示例如下: 创建用户u1和数据库db_test。 gaussdb=# CREATE USER u1 PASSWORD '********'; gaussdb=# CREATE DATABASE db_test; 测试确定u1用户可以正常连接数据库test。后退出数据库。 gsql -d db_test -h xxx.xxx.xxx.xxx -p xxxx -U u1 -W '********' 执行REVOKE命令撤销public连接db_test的权限。 gaussdb=# REVOKE CONNECT ON DATABASE db_test FROM public; 验证结果,使用u1连接数据库。结果显示u1用户已经无法连接数据库。 gsql -d db_test -h xxx.xxx.xxx.xxx -p xxxx -U u1 -W '********' gsql: FATAL: permission denied for database "db_test" DETAIL: User does not have CONNECT privilege. --删除。 gaussdb=# DROP USER u1; gaussdb=# DROP DATABASE db_test; 父主题: FAQ
  • GS_ LOG ICAL_ATTRIBUTE GS_LOGICAL_ATTRIBUTE系统表记录逻辑解码需要使用的关于表字段的信息。 表1 GS_LOGICAL_ATTRIBUTE字段 字段名称 字段类型 说明 attrelid oid 包含该属性的RELATION OID。 attname name 属性名称。 atttypid oid 属性的数据类型的OID。 attlen smallint 属性的长度。 attnum smallint 表示属性的编号,用于唯一标识关系中的每个属性。 atthasdef boolean 属性是否有默认值。 csnmin bigint 插入元组时的 CS N(提交序列号)。 csnmax bigint 更新或删除元组时的CSN。 createtime timestamp with time zone 插入元组的时间戳。 originid integer 元组的来源标识符。 dbnode oid 数据库OID。 attndims integer 如果是数组类型,则为声明的维数,否则为零。 attcacheoff integer 用于函数缓存属性在堆元组中的字节偏移。 attbyval boolean 表示属性是否是按值传递。 attstorage "char" 属性存储方式。 attalign "char" 表示属性的对齐方式。 attisdropped boolean 是否已删除(即逻辑上不可见)。 attinitdefval bytea 存储属性的默认值表达式。 attcollation oid 这个字段类型的PG_ATTRIBUTE中attcollation的复制。 atttypmod integer 这个字段类型的PG_ATTRIBUTE中atttypmod的复制。 父主题: 逻辑解码
  • 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 datanode -N all -I all -c "resilience_memory_reject_percent='70,90'" 设置建议:如果该参数设置的百分比过小,则会频繁触发内存过载逃生流程,会使正在执行的会话被强制退出,新连接短时间接入失败,需要根据实际内存使用情况慎重设置。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。 最大动态内存和已使用的动态内存可以通过gs_total_memory_detail视图查询获得,最大动态内存:max_dynamic_memory,已使用的动态内存:dynamic_used_memory。 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 datanode -N all -I all -c "resilience_escape_user_permissions='sysadmin,monadmin'" 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。 若该参数多次设置,以最新的设置生效。 该参数设置为取值范围中的任意值,普通用户都支持该逃生功能。 当用户同时具有sysadmin和monadmin时,resilience_escape_user_permissions必须设置为"sysadmin,monadmin"才能触发该用户的逃生功能。
  • work_mem 参数说明:设置内部排序操作和Hash表在开始写入临时磁盘文件之前使用的内存大小。ORDER BY,DISTINCT和merge joins都要用到排序操作。Hash表在散列连接、散列为基础的聚集、散列为基础的IN子查询处理中都要用到。 对于复杂的查询,可能会同时并发运行好几个排序或者散列操作,每个都可以使用此参数所声明的内存量,不足时会使用临时文件。同样的,多个正在运行的会话可能会同时进行排序操作。因此使用的总内存可能是work_mem的好几倍。该参数可在PDB级别设置。 参数类型:整型 参数单位:kB 取值范围:64 ~ 2147483647 默认值: 280MB(196核CPU/1536G内存);256MB(128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存,96核CPU/768G内存);128MB(80核CPU/640G内存,64核CPU/512G内存,60核CPU/480G内存,32核CPU/256G内存,16核CPU/128G内存);64MB(8核CPU/64G内存);32MB(4核CPU/32G内存);16MB(4核CPU/16G内存) 在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于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的页面(Ustore为32GB),达到work_mem上限后,会按此比例随数据访问量线性增长。 设置不当的风险与影响:默认值即推荐值,不建议修改。修改必须详细确认参数的规格限制,并考虑硬件资源是否足够,否则可能导致数据库异常。
  • query_mem 参数说明:设置执行作业所使用的内存。该参数可在PDB级别设置。 参数类型:整型 参数单位:kB 取值范围:0 ~ 2147483647 如果设置的query_mem值大于32768(即32MB),在生成执行计划时,优化器会将作业的估算内存调整为该值。 如果设置值小于32768(即32MB),将强制设置为默认值0,此时优化器不会根据该值调整作业的估算内存。 默认值:0。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。例如,不带单位取值32768,表示query_mem为32768kB;带单位取值32MB,表示query_mem为32MB。取值如果要带单位,必须为kB、MB、GB。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • max_stack_depth 参数说明:设置GaussDB执行堆栈的最大安全深度。之所以需要这个安全界限,是因为在服务器里,并非所有程序都检查了堆栈深度,而是只在可能递规的过程,比如表达式计算之类的过程中才进行检查。该参数可在PDB级别设置。 参数类型:整型 参数单位:kB 取值范围:100 ~ 2147483647 默认值: (ulimit -s的设置)- 640 KB的值大于等于2MB时,此参数的默认值为2MB。 (ulimit -s的设置)- 640 KB的值小于2MB时,此参数的默认值为(ulimit -s的设置)- 640 KB。 在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于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小于此参数取值范围的最小值时,会导致数据库启动失败。 如果设置此参数的值大于实际的内核限制,则一个正在运行的递归函数可能会导致一个独立的服务器进程崩溃。
  • enable_early_free 参数说明:控制是否可以进行算子内存的提前释放。该参数可在PDB级别设置。 参数类型:布尔型 参数单位:无 取值范围: on:表示支持算子内存提前释放。 off:表示不支持算子内存提前释放。 默认值:on。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • max_prepared_transactions 参数说明:设置可以同时处于“预备”状态的事务的最大数目。增加此参数的值会使GaussDB比系统默认设置需要更多的System V共享内存。 参数类型:整型 参数单位:无 取值范围:0 ~ 262143 默认值: 200(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内存,16核CPU/128G内存,8核CPU/64G内存,4核CPU/32G内存);0(4核CPU/16G内存)
  • query_max_mem 参数说明:设置执行作业所能够使用的最大内存。该参数可在PDB级别设置。 参数类型:整型 参数单位:kB 取值范围:0 ~ 2147483647 如果设置的query_max_mem值大于32768(即32MB),当作业执行时所使用内存超过该值时,将报错退出。 如果设置值小于32768(即32M),将设置为默认值0,此时不会根据该值限制作业的内存使用。 默认值:0。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。例如,不带单位取值32768,表示query_max_mem为32768kB;带单位取值32MB,表示query_max_mem为32MB。取值如果要带单位,必须为kB、MB、GB。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • 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_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分之一左右。 设置不当的风险与影响:如果设置的分区数量太大,会降低哈希查询效率;设置的分区数量太小,会增加哈希冲突的概率。
  • 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 参数说明:执行大批量数据查询操作时(例如大表扫描),该操作使用的环形缓冲区的大小。该参数可在PDB级别设置。 参数类型:整型 参数单位:kB 取值范围:256 ~ 2147483647 默认值:16384(即16MB)。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。例如,不带单位取值1024,表示bulk_read_ring_size为1024kB;带单位取值1MB,表示bulk_read_ring_size为1MB。取值如果要带单位,必须为kB、MB、GB。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • bulk_write_ring_size 参数说明:执行大批量数据写入操作时(例如copy动作),该操作使用的环形缓冲区的大小。该参数可在PDB级别设置。 参数类型:整型 参数单位:kB 取值范围:16384 ~ 2147483647 默认值:2097152(即2GB)。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。例如,不带单位取值16384,表示bulk_write_ring_size为16384kB;带单位取值16MB,表示bulk_write_ring_size为16MB。取值如果要带单位,必须为kB、MB、GB。 设置建议:建议导入压力大的场景中增加数据库节点中此参数取值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • temp_buffers 参数说明:设置每个数据库会话使用的LOCAL临时缓冲区的大小。该参数可在PDB级别设置。 在每个会话的第一次使用临时表之前可以改变temp_buffers的值,之后的设置将是无效的。 一个会话将按照temp_buffers给出的限制,根据需要分配临时缓冲区。如果在一个并不需要大量临时缓冲区的会话里设置一个大的数值,其开销只是一个缓冲区描述符的大小。当缓冲区被使用,就会额外消耗8192字节。 参数类型:整型 参数单位:页(8kB) 取值范围:100 ~ 1073741823 默认值:128(即1MB)。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。例如,不带单位取值100,表示temp_buffers为100*8kB,即800kB;带单位取值16MB,表示temp_buffers为16MB。取值如果要带单位,必须为kB、MB、GB,且取值必须为8kB的整数倍。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • enable_cached_context 参数说明:控制缓存内存上下文的个数。多租场景下,该参数可在PDB级别设置。 参数类型:整型 参数单位:个 取值范围:0~1024 设置为0时内存上下文优化框架不生效。 设置为非0值时,内存上下文优化框架生效,设置的值为缓存内存上下文的个数。 默认值:128。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • 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中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • standby_shared_buffers_fraction 参数说明:备实例所在服务器使用shared_buffers内存缓冲区大小的比例。 参数类型:浮点型 参数单位:无 取值范围:0.1 ~ 1.0 默认值:1 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • max_process_memory 参数说明:设置一个数据库节点可用的最大物理内存。 参数类型:整型 参数单位:kB 取值范围:2097152 ~ 2147483647 默认值: 1400GB(196核CPU/1536G内存);900GB(128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存);680GB(96核CPU/768G内存);560GB(80核CPU/640G内存);450GB(64核CPU/512G内存);420GB(60核CPU/480G内存);200GB(32核CPU/256G内存);90GB(16核CPU/128G内存);40GB(8核CPU/64G内存);20GB(4核CPU/32G内存);10GB(4核CPU/16G内存) 设置方式:该参数属于POSTMASTER类型参数,请参见表1中对应设置方法进行设置。 设置建议:该参数的目的是尽可能保证系统的可靠性,不会因数据库内存膨胀导致节点OOM。数据库节点上该参数值需要根据系统物理内存及单节点部署主数据库节点个数决定,建议计算公式如下:(物理内存大小 - vm.min_free_kbytes) * 0.7 / 节点个数。这个公式中提到vm.min_free_kbytes,其含义是预留操作系统内存供内核使用,通常用作操作系统内核中通信收发内存分配,至少为5%内存,即max_process_memory = 物理内存 * 0.665 / 节点个数。 设置不当的风险与影响:若该值设置不合理,比如大于服务器物理内存时,可能导致操作系统OOM问题。
  • enable_memory_context_control 参数说明:设置是否启用检查内存上下文是否超过给定限制的功能。仅适用于DEBUG版本。 参数类型:布尔型 参数单位:无 取值范围: on:表示启用最大内存上下文限制检查功能。 off:表示关闭最大内存上下文限制检查功能。 默认值:off 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • local_syscache_threshold 参数说明:单个session的系统缓存占用内存的最大值,当实际系统缓存大小超过该阈值时,会触发内存淘汰。如果参数enable_global_plancache已打开,则local_syscache_threshold设置值小于16MB时不会生效,此时为保证GPC生效,该参数取值最小为16MB。如果参数enable_global_syscache和enable_thread_pool已打开,则该参数描述的是当前线程和绑定到当前线程上的session缓存的总大小。该参数可在PDB级别设置。 参数类型:整型 参数单位:kB 取值范围:1024 ~ 524288 默认值: 32MB(196核CPU/1536G内存);16MB(128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存,96核CPU/768G内存,80核CPU/640G内存,64核CPU/512G内存,60核CPU/480G内存,32核CPU/256G内存,16核CPU/128G内存,8核CPU/64G内存,4核CPU/32G内存,4核CPU/16G内存)。在PDB场景内,若未设置该参数,则默认值为16MB。
共100000条