华为云用户手册

  • dcf_mem_pool_init_size 参数说明:DCF内存初始化大小,参数重启生效。 参数类型:整型 参数单位:MB 取值范围:32 ~ 2147483647 默认值:32 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。例如,不带单位取值2048,表示dcf_mem_pool_init_size为2048MB;带单位取值5GB,表示dcf_mem_pool_init_size为5GB(5120MB)。取值如果要加上单位,必须为“MB”、“GB”。 设置建议:推荐使用默认值。 设置不当的风险与影响:设置过小会导致集群安装失败。
  • dcf_stg_pool_max_size 参数说明:DCF存储模块内存池最大值,参数重启生效。 参数类型:整型 参数单位:MB 取值范围:32 ~ 2147483647 默认值:2048 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。例如,不带单位取值2048,表示dcf_stg_pool_max_size为2048MB;带单位取值5GB,表示dcf_stg_pool_max_size为5GB(5120MB)。取值如果要加上单位,必须为“MB”、“GB”。 设置建议:推荐使用默认值。 设置不当的风险与影响:设置过大可能会导致内存资源紧张,设置过小可能会导致存储模块资源不足。
  • dcf_compress_level 参数说明:DCF日志传输压缩级别,此参数生效前提必须配置有效的压缩算法,即设置合法的dcf_compress_algorithm参数。 参数类型:整型 参数单位:无 取值范围:1 ~ 22。若不开启压缩,配置的压缩级别将不生效。 默认值:1 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
  • dcf_enable_auto_election_priority 参数说明:DCF优先级选主是否允许内部自动调整优先级值。 参数类型:整型 参数单位:无 取值范围: 0:表示不允许。 1:表示允许内部自动调整。 默认值:1 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
  • dcf_run_mode 参数说明:DCF选举模式。包含自动选举模式、手动选举模式和去使能选举模式。目前去使能选举模式只限定少数派恢复场景使用,修改会导致数据库实例不可用。 实例在正常状态下进行工作模式切换才能保证切换后工作正常。GUC参数设置和cm_ctl设置的DCF工作模式需要保持一致,即两者需要同步设置为DCF手动或自动模式。 例如,设置DCF手动模式如下: cm_ctl set --param --server -k dn_arbitrate_mode=quorum cm_ctl reload --param --server gs_guc reload -Z datanode -I all -N all -c "dcf_run_mode=1" 设置DCF自动模式如下: cm_ctl set --param --server -k dn_arbitrate_mode=paxos cm_ctl reload --param --server gs_guc reload -Z datanode -I all -N all -c "dcf_run_mode=0" 参数类型:枚举类型 参数单位:无 取值范围:0、1、2 0:表示自动选举模式。 1:表示手动选举模式。 2:表示去使能选举模式。 默认值:1 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:目前去使能选举模式只限定少数派恢复场景使用,修改会导致数据库实例不可用。
  • dcf_connect_timeout 参数说明:DCF通信模块建立连接超时时间,参数重启生效。对于网络环境比较差的环境,若配置很小的超时时间,可能会导致建立连接不成功,此时需要适当增大此值。 参数类型:整型 参数单位:ms(毫秒) 取值范围:10 ~ 600000(10min) 默认值:60000 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。例如,不带单位取值5000,表示dcf_connect_timeout为5000ms;带单位取值1min,表示dcf_connect_timeout为1min(60000ms)。取值如果要加上单位,必须为“ms”,“s”,“min”。 设置建议:推荐使用默认值。 设置不当的风险与影响:网络环境不佳时,配置过小的超时时间可能导致建立连接不成功。
  • dcf_election_switch_threshold 参数说明:DCF防频繁切主门限。推荐根据用户业务可接受的最大故障时间配置。 参数类型:整型 参数单位:s(秒) 取值范围:0 ~ 2147483647 默认值:0 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。取值不能带单位。 设置建议:根据业务可接受的最大故障时间配置。 设置不当的风险与影响:设置过大可能会导致业务长时间不可用。
  • dcf_log_level 参数说明:DCF日志级别。 参数类型:字符串 参数单位:无 取值范围: 关闭日志:“NONE”,NONE表示关闭日志打印,不能与以下日志级别混合使用。 开启日志:“RUN_ERR|RUN_WAR|RUN_INF|DEBUG_ERR|DEBUG_WAR|DEBUG_INF|TRACE|PROFILE|OPER” 日志级别可以从上述字符串中选取字符串并使用竖线组合使用,不能配置空字符串。 默认值:"RUN_ERR|RUN_WAR|DEBUG_ERR|OPER|RUN_INF|PROFILE" 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:日志级别设置过低可能会导致日志信息缺失。
  • dcf_max_log_file_size 参数说明:DCF运行日志单个文件最大大小。 参数类型:整型 参数单位:MB 取值范围:1 ~ 1000 默认值:10 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。例如,不带单位取值10,表示dcf_max_log_file_size为10MB;带单位取值10MB,表示dcf_max_log_file_size为10MB。取值如果要加上单位,必须为“MB”。 设置建议:推荐使用默认值。 设置不当的风险与影响:设置过大可能会导致单个日志文件打开、查询效率降低。
  • dcf_socket_timeout 参数说明:DCF通信模块连接socket超时时间,参数重启生效。对于网络环境比较差的环境,若配置很小的超时时间,可能会导致建立连接不成功,此时需要适当增大此值。 参数类型:整型 参数单位:ms(毫秒) 取值范围:10 ~ 600000(10min) 默认值:5000 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。例如,不带单位取值5000,表示dcf_socket_timeout为5000ms;带单位取值1min,表示dcf_socket_timeout为1min(60000ms)。取值如果要加上单位,必须为“ms”,“s”,“min”。 设置建议:推荐使用默认值。 设置不当的风险与影响:网络环境不佳时,配置过小的超时时间可能导致建立连接不成功。
  • dcf_max_workers 参数说明:DCF回调函数线程最大个数。DCF通过回调函数调用到DN向DCF注册的函数时,需要申请共享内存以及信号量等。 参数类型:整型 参数单位:个 取值范围:0 ~ 262143 默认值:40 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:设置过大可能会导致资源不足,集群安装失败。
  • enable_dcf 参数说明:是否开启DCF模式。 参数类型:布尔型 参数单位:无 取值范围: on:表示当前日志复制模式为DCF模式。 off:表示当前日志复制模式为非DCF模式。 默认值:off 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:需要使用DCF日志复制模式时,请将enable_dcf设置为on。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
  • dcf_election_timeout 参数说明:DCF leader和follower选举超时时间。选举超时时间数值依赖于当前DN之间的网络状况,在超时时间较小且网络极差的情形下,会有超时选举发生,待网络恢复选举恢复正常。建议根据当前网络状态合理设置超时时间。对DCF节点时钟的约束:DCF节点间最大时钟差异小于选举超时时间的一半。在DCF手动选举模式下,为了不影响CM及时仲裁选举,禁止对该参数配置修改,按默认选举超时时间设置即可。 参数类型:整型 参数单位:s(秒) 取值范围:1 ~ 600 默认值:3 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。例如,不带单位取值60,表示dcf_election_timeout为60s;带单位取值1min,表示dcf_election_timeout为1min(60s)。取值如果要加上单位,必须为“s”,“min”。 设置建议:根据当前网络状态合理设置超时时间。 设置不当的风险与影响:网络环境不佳且超时时间较小的情况下,可能会发生超时选举。
  • 为什么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
  • ADM_SYNONYMS ADM_SYNONYMS视图显示数据库中所有同义词的信息。默认只有系统管理员权限才可以访问。该视图同时存在于PG_CATA LOG 和SYS Schema下。 表1 ADM_SYNONYMS字段 名称 类型 描述 owner text 同义词的所有者。PUBLIC同义词的所有者为PUBLIC。 schema_name text 同义词所属模式名。PUBLIC同义词的所属模式名为NULL。 synonym_name text 同义词的名称。 table_owner text 关联对象的所有者。尽管该列称为table_owner,但它拥有的该关联对象不一定是表,可以是任何数据库通用对象,例如视图、存储过程、同义词等。 table_name text 关联对象名。尽管该列称为table_name,但此关联对象不一定是表,可以是任何数据库通用对象,例如视图、存储过程、同义词等。 table_schema_name text 关联对象所属模式名。尽管该列称为table_schema_name,但此Schema下的该关联对象不一定是表,可以是任何数据库通用对象,例如视图、存储过程、同义词等。 父主题: 其他系统视图
  • SESSION_CPU_RUNTIME SESSION_CPU_RUNTIME视图显示和当前用户执行复杂作业(正在运行)时的负载管理CPU使用的信息,如表1所示。 表1 SESSION_CPU_RUNTIME字段 名称 类型 描述 datid oid 连接后端的数据库OID。 usename name 登录到该后端的用户名。 pid bigint 后端线程ID。 start_time timestamp with time zone 语句执行的开始时间。如果是存储过程、函数、package,则查询的是第一个查询时间,不会随着存储过程内语句运行而改变。 min_cpu_time bigint 语句在数据库节点上的最小CPU时间,单位为ms。 max_cpu_time bigint 语句在数据库节点上的最大CPU时间,单位为ms。 total_cpu_time bigint 语句在数据库节点上的CPU总时间,单位为ms。 query text 正在执行的语句。 top_cpu_dn text cpu使用量topN信息。 父主题: Session/Thread
  • V$DBLINK V$DBLINK系统视图显示DATABASE LINK对象的相关信息,用户可以查看属于自己和PUBLIC级别的DATABASE LINK信息。默认只有管理员用户可以查看该视图。 本视图数据取自于GS_DB_LINKS,但只记录在本次session中曾被使用过或正在使用的链路信息,DATABASE LINK介绍及使用请参考DATABASE LINK。 表1 V$DBLINK字段 名称 类型 描述 db_link character varying(128) 当前DATABASE LINK对象的名称。 owner_id numeric 当前DATABASE LINK对象拥有者的ID。DATABASE LINK对象的拥有者是PUBLIC时,owner_id为0。 logged_on character varying(3) 暂不支持,值为NULL。 heterogeneous character varying(3) 暂不支持,值为NULL。 protocol character varying(6) 暂不支持,值为NULL。 open_cursors numeric 暂不支持,值为NULL。 in_transaction character varying(3) 当前DATABASE LINK对象是否在事务中。 YES:表示在事务中。 NO:表示不在事务中。 update_sent character varying(3) 当前DATABASE LINK对象是否使用了更新数据的语句。 YES:表示使用了更新数据的语句。 NO:表示没有使用更新数据的语句。 commit_point_strength numeric 暂不支持,值为NULL。 con_id numeric 暂不支持,值为NULL。 父主题: DATABASE LINK
  • FILE_REDO_IOSTAT 本节点Redo(WAL)相关的统计信息,如表1所示。 表1 FILE_REDO_IOSTAT字段 名称 类型 描述 phywrts bigint 向wal buffer中写的次数。 phyblkwrt bigint 向wal buffer中写的block的块数。 writetim bigint 向xLog文件中写操作的时间(单位:微秒)。 avgiotim bigint 平均写xLog的时间(writetim/phywrts,单位:微秒)。 lstiotim bigint 最后一次写xLog的时间(单位:微秒)。 miniotim bigint 最小的写xLog时间(单位:微秒)。 maxiowtm bigint 最大的写xLog时间(单位:微秒)。 父主题: File
  • 语法格式 CREATE [ LARGE | TEMPORARY | TEMP ] SEQUENCE [ IF NOT EXISTS ] name [ INCREMENT [ BY ] increment ] [ MINVALUE minvalue | NO MINVALUE | NOMINVALUE ] [ MAXVALUE maxvalue | NO MAXVALUE | NOMAXVALUE] [ START [ WITH ] start ] [ CACHE cache ] [ [ NO ] CYCLE | NOCYCLE ] [ OWNED BY { table_name.column_name | NONE } ];
  • 参数说明 LARGE | TEMPORARY | TEMP 临时序列关键字。 创建临时序列需要数据库启用PG兼容。 临时序列的生命周期是会话级的,临时序列对象是会话隔离的。序列在会话退出后会自动删除清理。 临时序列存在于一个特殊的模式中,每个会话有且仅有一个临时模式,若提前创建了临时模式,则在创建临时序列时可给出模式名,若未提前创建,则在创建临时序列时不能给出模式名,并且每个会话只能访问自己的临时模式中的对象,无法访问其他会话的临时模式中的对象。如果访问的临时模式不属于本会话,会报告错误。 当临时序列存在时,已有的同名永久序列(在这个会话中) 会变得不可见,不过可以用模式限定的名称来引用同名永久序列。 IF NOT EXISTS 如果指定IF NOT EXISTS关键字,创建序列前会在当前SCHEMA中查找是否已有名字相同的relation。若已有同名relation存在,则不会新建,返回NOTICE提示。未指定IF NOT EXISTS关键字时,若SCHEMA中存在同名relation,返回ERROR告警。 name 将要创建的序列名称。 取值范围: 仅可以使用小写字母(a~z)、 大写字母(A~Z)、数字和特殊字符“#” 、“_”、“$”的组合。 increment 可选。指定序列的步长。一个正数将生成一个递增的序列,一个负数将生成一个递减的序列。 缺省值为1。 在B兼容模式下,步长为浮点数时会自动转为整型。其他模式下,该参数不支持输入浮点数。 MINVALUE minvalue | NO MINVALUE| NOMINVALUE 可选。执行序列的最小值。如果没有声明minvalue或者声明了NO MINVALUE,则递增序列的缺省值为1,递减序列的缺省值为-263-1。NOMINVALUE等价于NO MINVALUE。 MAXVALUE maxvalue | NO MAXVALUE| NOMAXVALUE 可选。执行序列的最大值。如果没有声明maxvalue或者声明了NO MAXVALUE,则递增序列的缺省值为263-1,递减序列的缺省值为-1。NOMAXVALUE等价于NO MAXVALUE。 start 可选。指定序列的起始值。缺省值:对于递增序列为minvalue,递减序列为maxvalue。 cache 可选。为了快速访问,而在内存中预先存储序列号的个数。 缺省值为1,表示一次只能生成一个值,也就是没有缓存。 不建议同时定义cache和maxvalue或minvalue。因为定义cache后不能保证序列的连续性,可能会产生空洞,造成序列号段浪费。 [ NO ] CYCLE | NOCYCLE 可选。用于使序列达到maxvalue或者minvalue后可循环并继续下去。 如果声明了NO CYCLE,则在序列达到其最大值后任何对nextval的调用都会返回一个错误。 NOCYCLE的作用等价于NO CYCLE。缺省值为NO CYCLE。 若定义序列为CYCLE,则不能保证序列的唯一性。 OWNED BY 可选。将序列和一个表的指定字段进行关联。这样,在删除该字段或其所在表的时候会自动删除已关联的序列。关联的表和序列的所有者必须是同一个用户,并且在同一个模式中。需要注意的是,通过指定OWNED BY,仅仅是建立了表的对应列和SEQUENCE之间关联关系,并不会在插入数据时在该列上产生自增序列。 缺省值为OWNED BY NONE,表示不存在这样的关联。 通过OWNED BY创建的SEQUENCE不建议用于其他表,如果希望多个表共享SEQUENCE,该SEQUENCE不应该从属于特定表。
  • 示例 创建一个名为seq1的递增序列,从101开始,步长为10。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 gaussdb=# CREATE SEQUENCE seq1 START 101 INCREMENT 10; --从序列中选出下一个数字: gaussdb=# SELECT nextval('seq1'); nextval --------- 101 (1 row) gaussdb=# SELECT nextval('seq1'); nextval --------- 111 --删除序列。 gaussdb=# DROP SEQUENCE seq1; 表自增列的一种实现。 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 --创建表。 gaussdb=# CREATE TABLE test1(id int PRIMARY KEY, name varchar(20)); --创建与表关联的序列。 gaussdb=# CREATE SEQUENCE test_seq2 START 1 NO CYCLE OWNED BY test1.id; --设置字段的默认值。 gaussdb=# ALTER TABLE test1 ALTER COLUMN id SET DEFAULT nextval('test_seq2'::regclass); -- 插入数据。 gaussdb=# INSERT INTO test1 (name) values ('Joe'),('Scott'),('Ben'); --查询表的数据。 gaussdb=# SELECT * FROM test1; id | name ----+------- 1 | Joe 2 | Scott 3 | Ben (3 rows) --删除序列和表。 gaussdb=# DROP SEQUENCE test_seq2 CASCADE; gaussdb=# DROP TABLE test1; 序列的循环。 --创建一个递增序列seq_test1,最大值为3,且可以循环。 gaussdb=# CREATE SEQUENCE seq_test1 START 1 MAXVALUE 3 CYCLE; --建表,并插数据。 gaussdb=# CREATE TABLE tbl_test1( c1 int DEFAULT nextval('seq_test1'), c2 varchar ); gaussdb=# INSERT INTO tbl_test1 (c2) values ('test'); gaussdb=# INSERT INTO tbl_test1 (c2) values ('test'); gaussdb=# INSERT INTO tbl_test1 (c2) values ('test'); gaussdb=# INSERT INTO tbl_test1 (c2) values ('test'); gaussdb=# INSERT INTO tbl_test1 (c2) values ('test'); --查询表数据,当递增序列seq_test的值达到最大值后会重新从最小值开始。 gaussdb=# SELECT * FROM tbl_test1; c1 | c2 ----+------ 1 | test 2 | test 3 | test 1 | test 2 | test (5 rows) --删除表和序列。 gaussdb=# DROP TABLE tbl_test1; gaussdb=# DROP SEQUENCE seq_test1;
  • 注意事项 SEQUENCE是一个存放等差数列的特殊表。这个表没有实际意义,通常用于为行或者表生成唯一的标识符。 如果给出一个模式名,则该序列就在给定的模式中创建,否则会在当前模式中创建。序列名必须和同一个模式中的其他序列、表、索引、视图或外表的名称不同。 创建序列后,在表中使用序列的nextval()函数和generate_series(1,N)函数对表插入数据,请保证nextval的可调用次数大于等于N+1次,否则会因为generate_series()函数会调用N+1次而导致报错。 SEQUENCE默认最大值为2^63-1,如果使用了Large标识则最大值可以支持到2^127-1。 被授予CREATE ANY SEQUENCE权限的用户,可以在public模式和用户模式下创建序列。
  • 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"才能触发该用户的逃生功能。
  • local_plsqlcache_threshold 参数说明:单个session中存储过程及存储过程内plancache的占用内存的最大值。当实际系统缓存大小超过该阈值时,会触发内存释放,参数值为0时表示功能不生效。如果max_execute_functions参数生效,即使占用缓存未达到参数local_plsqlcache_threshold设置的值,存储过程内存仍旧会因为max_execute_functions参数而释放。在local_plsqlcache_threshold参数开启时,建议将max_execute_functions参数设置为一个较大值,避免相互干扰。如果local_plsqlcache_threshold和max_execute_functions都设置为较小值,同时控制内存大小和执行产物个数,可能两者都无法达到限制的上限值。该参数仅在enable_global_plsqlcache开启时生效。 参数类型:整型 参数单位:字节 取值范围:0 ~ 9223372036854775807 默认值:0 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐设置值为max_process_memory * sess_plsql_mem_percent / count_peak_conn。其中max_process_memory为gaussdb实例占用最大内存,sess_plsql_mem_percent为预留给会话存储过程的内存占比,count_peak_conn为峰值连接数。 设置不当的风险与影响:如果设置的值过小,会导致内存频繁释放,影响性能。开启enable_global_plancache时不建议使用。
  • enable_early_free 参数说明:控制是否可以进行算子内存的提前释放。该参数可在PDB级别设置。 参数类型:布尔型 参数单位:无 取值范围: on:表示支持算子内存提前释放。 off:表示不支持算子内存提前释放。 默认值:on。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
  • 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,否则设置不会生效。
  • 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的整数倍。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
  • 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。 设置建议:建议导入压力大的场景中增加数据库节点中此参数取值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
  • 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内存)
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全