华为云用户手册

  • most_available_sync 参数说明:指定在备机同步失败时,是否阻塞主机。 参数类型:布尔型 参数单位:无 取值范围: on:表示在备机同步失败时,不阻塞主机。 off:表示在备机同步失败时,阻塞主机。 默认值:off 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:开启后,主机不会等待备机提交验证。主机处于单主时也会提交成功,而不是多数派写入成功。 设置不当的风险与影响:客户需要针对自身使用场景谨慎开启。
  • 现象描述 查询与销售部所有员工的信息: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 --建表 CREATE TABLE staffs (staff_id NUMBER(6) NOT NULL, first_name VARCHAR2(20), last_name VARCHAR2(25), employment_id VARCHAR2(10), section_id NUMBER(4), state_name VARCHAR2(10), city VARCHAR2(10)); CREATE TABLE sections(section_id NUMBER(4), place_id NUMBER(4), section_name VARCHAR2(20)); CREATE TABLE states(state_id NUMBER(4)); CREATE TABLE places(place_id NUMBER(4), state_id NUMBER(4)); --优化前查询 EXPLAIN SELECT staff_id,first_name,last_name,employment_id,state_name,city FROM staffs,sections,states,places WHERE sections.section_name='Sales' AND staffs.section_id = sections.section_id AND sections.place_id = places.place_id AND places.state_id = states.state_id ORDER BY staff_id; --创建索引 CREATE INDEX loc_id_pk ON places(place_id); CREATE INDEX state_c_id_pk ON states(state_id); --优化后查询 EXPLAIN SELECT staff_id,first_name,last_name,employment_id,state_name,city FROM staffs,sections,states,places WHERE sections.section_name='Sales' AND staffs.section_id = sections.section_id AND sections.place_id = places.place_id AND places.state_id = states.state_id ORDER BY staff_id;
  • concurrent_dml_mode 参数说明:对于启用了更新分布列功能的表(即表属性“enable_update_distkey”为“on”),针对该表上出现的DML并发执行冲突(锁冲突),指定冲突的处理方式。 该参数仅在DN节点上生效。 参数类型:整型 参数单位:无 取值范围:0 ~ 1 0:宽松模式,即出现冲突后,后获取锁的DML语句不报错。 1:严格模式,即出现冲突后,后获取锁的DML语句将会终止,并输出错误信息。 默认值:0 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:可参考取值范围描述进行设置。若预期冲突后,后获取锁DML语句不报错,则可设置为0;若预期冲突后,后获取锁的DML语句终止且报错,则可设置为1。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • track_stmt_shm_size 参数说明:控制全量SQL共享内存的大小。 参数类型:整型 参数单位:byte 取值范围:134217728 ~ 1073741824 默认值:134217728 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • enable_stmt_track 参数说明:控制是否开启Full/Slow SQL捕获功能。 在x86架构集中式部署下,硬件配置规格为32核CPU/256GB内存,使用Benchmark SQL 5.0工具测试性能,开关此参数性能影响约1.2%。 参数类型:布尔型 参数单位:无 取值范围: on:表示开启Full/Slow SQL捕获功能。 off:表示关闭Full/Slow SQL捕获功能。 默认值:on 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • track_stmt_session_slot 参数说明:设置一个session缓存的最大的全量SQL和慢SQL的数量,超过这个数量,新的语句执行将不会被跟踪,直到落盘线程将缓存语句落盘,留出空闲的空间。 参数类型:整型 参数单位:无 取值范围:0 ~ 2147483647 默认值:1000 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:每个被占用的slot内存约800bit左右,具体值由语句复杂度决定。业务压力大的场景,若该值过大,会有内存快速膨胀的影响。该值过小时,可能会遗漏需要分析的语句。
  • track_stmt_standby_chain_size 参数说明:组合参数,控制备机快/慢SQL记录的最大占用内存与磁盘空间。仅SysAdmin用户可以访问。 参数类型:字符串 参数单位:无 取值范围: 该参数分为四部分,形式为'Full SQL memory size, Full SQL disk size, Slow SQL memory size, Slow SQL disk size' ,这四个部分的具体含义如下: Full SQL与Slow SQL分开存放于不同位置,因此使用了四个值进行控制。 Full SQL memory size:保留的快SQL的最大内存占用空间,取值范围为[16, 1024],单位为MB。 Full SQL disk size:保留的快SQL的最大磁盘占用空间,取值范围为[512, 1048576],单位为MB。 Slow SQL memory size:保留的慢SQL的最大内存占用空间,取值范围为[16, 1024],单位为MB。 Slow SQL disk size:保留的慢SQL的最大磁盘占用空间,取值范围为[512, 1048576],单位为MB。 其中内存值不可大于磁盘值。 默认值:"32, 1024, 16, 512" 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:如果设置参数值过大,可能会占用大量的内存或磁盘空间;参数值过小,可能会遗漏需要分析的语句。
  • perf_directory 参数说明:perf_directory决定性能视图打点任务输出文件的目录,仅sysadmin用户可以访问。它可以是绝对路径,或者是相对路径(相对于数据目录的路径)。 合法路径:用户对此路径有读写权限。 非法路径:用户对此路径无读写权限。 参数类型:字符串 参数单位:无 取值范围:合法目录路径。 默认值:安装时指定。 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:当配置文件中perf_directory的值为非法路径时,会导致集群无法重新启动。
  • track_stmt_parameter 参数说明:开启track_stmt_parameter后,在statement_history中记录的执行语句不再进行归一化操作,可以显示完整SQL语句信息,辅助DBA进行问题定位;其中对于简单查询,显示完整语句信息;对于PBE语句,显示完整语句信息的同时,追加每个变量数值信息,格式为“query string;parameters:$1=value1,$2=value2,...”,该参数提供的目的是为用户呈现全量SQL信息,不受track_activity_query_size参数控制。对于PBE类型语句且走SQL Bypass逻辑时,参数直接下发到DN,故在CN查询statement_history无法获取完整语句数信息,同时由于DN无Query字符串信息,故在DN查询statement_history中也无法获取完整语句信息。 参数类型:布尔型 参数单位:无 取值范围: on:表示开启显示完整SQL语句信息的功能。 off:表示关闭显示完整SQL语句信息的功能。 默认值:off 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:若SQL语句普遍较长,会有更大的内存和磁盘的空间占用。
  • track_stmt_retention_time 参数说明:组合参数,控制全量/慢SQL记录的保留时间。以60秒为周期读取该参数,并执行清理超过保留时间的记录,仅sysadmin用户可以访问。 参数类型:字符串 参数单位:无 取值范围: 该参数分为两部分,形式为'full sql retention time, slow sql retention time',这两个部分的具体含义如下: full sql retention time:全量SQL保留时间,取值范围为0 ~ 86400,单位为秒。 slow sql retention time:慢SQL的保留时间,取值范围为0 ~ 604800,单位为秒。 默认值:"3600,604800" 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:如果设置保留时间太长,可能会占用较多空间;太短可能会影响数据保留时间太短,导致缺少问题定位手段,影响诊断。
  • track_stmt_flush_mode 参数说明:控制全量SQL的存储模式。 参数类型:字符串 参数单位:无 取值范围: 该参数分为两部分,形式为'full sql flush mode, slow sql flush mode',这两个部分的具体含义如下: 第一部分为全量SQL跟踪模式,取值可为MEMORY、FILE。参数设置为MEMORY,会记录全量SQL语句到内存中;参数设置为FILE,会记录全量SQL语句到磁盘文件中。 第二部分为慢SQL跟踪模式,当前版本取值仅为FILE。参数设置为FILE,会记录慢SQL语句到磁盘文件中。 默认值:"FILE,FILE" 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:如果设置参数为“MEMORY,FILE”会打开内核支持全量SQL功能,会占用一定共享内存,内存大小由track_stmt_shm_size参数控制。
  • track_stmt_details_size 参数说明:设置单语句可以收集的最大的执行事件的大小。该值影响statement_history表中details字段的锁信息。 参数类型:整型 参数单位:byte 取值范围:0 ~ 100000000 默认值:4096 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。取值不能带单位。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • instr_unique_sql_combination_options 参数说明:Unique SQL同类语句归并功能配置项,该参数的值由若干个配置项用逗号隔开构成。 开启该特性会将同类语句的Unique SQL ID归一,并将生成的Unique SQL String做归一化处理。 参数类型:字符串 参数单位:无 取值范围:参照表1。 归并功能配置时,按照表1设置字符串,多个配置项之间用逗号隔开,例如:SET instr_unique_sql_combination_options='in_clause'; 参数设置为空时,即为不开启该功能,例如:SET instr_unique_sql_combination_options=''; 表1 归并功能配置项 归并功能配置项 归并功能行为控制 in_clause 控制select in()语句的in中仅含有固定参数与预编译绑定参数的情况进行归并。 例1:select * from example_table where column in (1,2,3); 归并后Unique SQL String:select * from example_table where column in (1…n); 例2:select * from example_table where column in ($1,$2,$3); 归并后Unique SQL String:select * from example_table where column in ($1…$n); 例3:select * from example_table where column in (1,2,$1,3,$2); 归并后Unique SQL String:select * from example_table where column in (1...n,$1...$n); 例4:select * from example_table where (column1, column2) in ((1, 'a'), (2, 'b'), (3, 'c')); 归并后Unique SQL String:select * from example_table where (column1, column2) in ((1...n)); 默认值:"in_clause" 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:修改该参数值将使涉及归并的查询语句的Unique SQL ID发生改变,会对已创建SQLpatch的SQL语句产生影响。 升级时默认值为"",新实例下发时默认值为"in_clause"。 对于bigint、real、float4、blob、numeric、decimal、number、dec、integer类型的值,在in()中含有单个参数与多个参数的两种情况,会生成两种不同的unique_sql_id。
  • enable_instr_rt_percentile 参数说明:控制是否开启计算系统中80%和95%的SQL响应时间的功能。 参数类型:布尔型 参数单位:无 取值范围: on:表示打开sql响应时间信息计算功能。 off:表示关闭sql响应时间信息计算功能。 默认值:on 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:建议开启该参数。 设置不当的风险与影响:若关闭该参数无法记录80%和95%的SQL响应时间,导致无法直观监测系统性能。
  • enable_instr_cpu_timer 参数说明:控制是否捕获sql执行的cpu时间消耗。 在x86架构集中式部署下,硬件配置规格为32核CPU/256GB内存,使用Benchmark SQL 5.0工具测试性能,开关此参数性能影响约3.5%。 参数类型:布尔型 参数单位:无 取值范围: on:表示捕获sql执行的cpu时间消耗。 off:表示不捕获sql执行的cpu时间消耗。 默认值:on 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:建议开启该参数。 设置不当的风险与影响:若关闭该参数,可能导致无法记录系统中sql执行消耗的cpu时间,不利于慢sql分析信息。
  • unique_sql_retention_time 参数说明:清理unique sql哈希表的间隔,默认为30分钟。 参数类型:整型 参数单位:分钟(min) 取值范围:1 ~ 3650 默认值:30 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。取值不能带单位。 设置建议:不建议用户修改该参数,该参数当前版本无功能控制点。 设置不当的风险与影响:修改该参数取值可能导致集群出现意料之外的结果,请保持默认值。
  • asp_log_directory 参数说明:asp_flush_mode设置为all或者file时,asp_log_directory决定存放服务器asp日志文件的目录。它可以是绝对路径,或者是相对路径(相对于数据目录的路径),仅sysadmin用户可以访问。 合法路径:用户对此路径有读写权限。 非法路径:用户对此路径无读写权限。 参数类型:字符串 参数单位:无 取值范围:合法目录路径。 默认值:安装时指定。 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:请在充分测试验证后进行设置。 设置不当的风险与影响:当配置文件中asp_log_directory的值为非法路径时,会导致集群无法重新启动。
  • instr_rt_percentile_interval 参数说明:sql响应时间信息计算间隔,sql响应时间信息计算功能打开后,后台计算线程每隔设置的时间进行一次计算。 参数类型:整型 参数单位:秒(s) 取值范围:0 ~ 3600 默认值:10 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。例如,不带单位取值60,表示instr_rt_percentile_interval为60s;带单位取值1min,表示instr_rt_percentile_interval为1min。取值如果要带单位,必须为s、min、h。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • instr_unique_sql_track_type 参数说明:unique sql记录sql方式。 参数类型:枚举类型 参数单位:无 取值范围: top:只记录顶层sql。 all:记录所有sql。 默认值:all 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。 该参数默认为all。与设置为top时相比,参数值为all时会额外记录存储过程内语句的统计信息,对存储过程的执行会产生一定的性能损耗,对于存储过程内简单表达式等执行较快的语句产生的性能影响会更加严重。
  • instr_unique_sql_count 参数说明:控制系统中unique sql信息实时收集功能的最大收集数量。 该值由大变小将会清空系统中原有的数据重新统计(备机不支持此能力);从小变大不受影响。 当系统中产生的unique sql信息(由dbe_perf.statement/dbe_perf.summary_statement统计)大于instr_unique_sql_count时,系统产生的unique sql信息不被统计。 在x86架构集中式部署下,硬件配置规格为32核CPU/256GB内存,使用Benchmark SQL 5.0工具测试性能,开关此参数性能影响约3%。 参数类型:整型 参数单位:无 取值范围:0 ~ 2147483647,0表示不启用unique sql信息收集功能。 默认值:200000 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:设置较大会增加dbe_perf.statement视图占用的内存上限。设置过小可能出现视图中记录语句过少,导致缺少问题定位手段,影响对慢SQL的诊断。
  • 注意事项 如果数据库的编码为SQL_ASCII(可以通过“show server_encoding”命令查看当前数据库存储编码),则在创建数据库对象时,如果对象名中含有多字节字符(例如中文),超过数据库对象名长度限制(63字节)的时候,数据库会将最后一个字节(而不是字符)截断,可能造成出现半个字符的情况。 针对这种情况,请遵循以下条件: 保证数据对象的名称不超过限定长度。 使用utf-8编码集为数据库的默认存储编码集(server_encoding)。 不要使用多字节字符作为对象名。 因为误操作导致在多字节字符的中间截断,从而导致无法删除数据库对象,如果出现这种现象,请使用截断前的数据库对象名进行删除操作,或将该对象从各个数据库节点的相应系统表中依次删掉。
  • 背景信息 初始时, GaussDB 包含三个模板数据库template0、template1、templatea,templatem,以及一个默认的用户数据库postgres。 CREATE DATABASE实际上通过复制模板数据库来创建新数据库。默认复制template0。请避免使用客户端或其他手段连接及操作两个模板数据库。 模板数据库中没有用户表,可通过系统表PG_DATABASE查看模板数据库属性。 模板template0、templatea不允许用户连接;模板template1和templatem只允许数据库初始用户和系统管理员连接,普通用户无法连接。 templatem为系统保留数据库名称,不允许用户以其为数据库名创建数据库。 templatea、templatem不允许用户修改名称。 数据库系统中会有多个数据库,但是同一时刻客户端程序只能连接一个数据库。当前,不支持在不同的数据库之间进行相互查询(跨库查询或跨库事务)。 当一个数据库集群中存在多个数据库时,可以通过客户端工具的-d参数指定目标数据库进行登录,也可以在客户端程序登录数据库以后通过\c命令进行数据库切换。
  • 位串类型 位串就是一串1和0的字符串。它们可以用于存储位掩码。 GaussDB支持两种位串类型:bit(n)和bit varying(n),这里的n是一个正整数,n最大取值为83886080,相当于10M的容量。 bit类型的数据必须准确匹配长度n,如果存储的数据长度不匹配都会报错。bit varying类型的数据是最长为n的变长类型,长度超过n时会被拒绝。一个没有长度的bit等效于bit(1),没有长度的bit varying表示没有长度限制。 如果用户明确地把一个位串值转换成bit(n),则此位串数值右边超过n位的内容将被截断,或者在位串数值不足n位时右边补齐零到n位,不会提示错误。 如果用户明确地把一个位串数值转换成bit varying(n),但位串数值超过了n位,则位串数值的右边将被截断。 使用ADMS平台8.1.3-200驱动版本及之前版本时,写入bit类型需要用::bit varying进行类型转换,否则可能出现异常报错。 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 --创建表。 gaussdb=# CREATE TABLE bit_type_t1 ( BT_COL1 INTEGER, BT_COL2 BIT(3), BT_COL3 BIT VARYING(5) ) DISTRIBUTE BY REPLICATION; --插入数据。 gaussdb=# INSERT INTO bit_type_t1 VALUES(1, B'101', B'00'); --插入数据的长度不符合类型的标准会报错。 gaussdb=# INSERT INTO bit_type_t1 VALUES(2, B'10', B'101'); ERROR: bit string length 2 does not match type bit(3) CONTEXT: referenced column: bt_col2 --将不符合类型长度的数据进行转换。 gaussdb=# INSERT INTO bit_type_t1 VALUES(2, B'10'::bit(3), B'101'); --查看数据。 gaussdb=# SELECT * FROM bit_type_t1; bt_col1 | bt_col2 | bt_col3 ---------+---------+--------- 1 | 101 | 00 2 | 100 | 101 (2 rows) --删除表。 gaussdb=# DROP TABLE bit_type_t1; 父主题: 数据类型
  • enable_ilm 参数说明:控制是否开启数据生命周期管理-OLTP表压缩特性。 参数类型:布尔型 参数单位:无 取值范围: on:表示开启。 off:表示关闭。 默认值:off 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:该参数默认off,如果需要开启数据生命周期管理-OLTP表压缩特性,请联系华为工程师购买license后再设置为on。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • max_size_for_shared_storage_xlog_write 参数说明:控制共享盘单次写入的最大数据量。 参数类型:整型 参数单位:kB 取值范围:8~131072 默认值:1024 设置方式:该参数属于POSTMASTER类型参数,请参考表表1中对应设置方法进行设置。 设置建议:安装时会进行设定,不建议用户修改此配置。 设置不当的风险与影响:修改该参数取值可能导致集群出现意料之外的结果,请保持默认值。
  • xlog_lock_file_path 参数说明:双集群共享存储场景下,xlog日志共享盘抢占的锁文件的路径。本参数在数据库系统初始化时由OM进行配置,不建议用户自行修改。 参数类型:字符串 参数单位:无 取值范围:字符串 默认值:NULL 设置方式:该参数属于POSTMASTER类型参数,请参考表表1中对应设置方法进行设置。 设置建议:安装时会进行设定,不建议用户修改此配置。 设置不当的风险与影响:设置不当会使数据库无法启动。
  • xlog_file_size 参数说明:双集群共享存储场景下,xlog日志共享盘的大小。本参数在数据库系统初始化时由OM进行配置,不建议用户自行修改。 参数类型:整型 参数单位:Byte 取值范围:134217728~576460752303423487 默认值:549755813888 设置方式:该参数属于POSTMASTER类型参数,请参考表表1中对应设置方法进行设置。取值不能带单位。 设置建议:安装时会进行设定,不建议用户修改此配置。 设置不当的风险与影响:修改该参数取值可能导致集群出现意料之外的结果,请保持默认值。
  • commit_siblings 参数说明:当一个事务发出提交请求时,如果数据库中正在执行的事务数量大于此参数的值,则该事务将等待一段时间(commit_delay的值),否则该事务则直接写入WAL。 参数类型:整型 参数单位:无 取值范围:0~1000 默认值:5 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • force_promote 参数说明:备机强切功能开关。 备机强切在集群故障状态下,以丢失部分数据为代价换取集群尽可能快地恢复服务;是集群状态为不可用时的一个逃生方法,不建议频繁触发。如果操作者不清楚备机强切后丢失数据对业务的影响,请勿使用本功能。 参数类型:整型 参数单位:无 取值范围: 0:表示关闭。 1:表示开启。 默认值:0 设置方式:该参数属于POSTMASTER类型参数,请参考表表1中对应设置方法进行设置。使用备机强切功能时,DN和cmserver都需要将此参数设置为开启,重启数据库后生效。 设置建议:不推荐开启此参数。 设置不当的风险与影响:开启后,触发强切会导致丢失部分数据。
  • wal_file_init_num 参数说明:WAL writer辅助线程启动时在主机上一次创建xlog段文件的数量。 参数类型:整型 参数单位:无 取值范围:1~1000000 默认值:10 设置方式:该参数属于POSTMASTER类型参数,请参考表表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:设置过大,会占用过多的磁盘空间,占用量为 wal_file_init_num * wal_segment_size。
共100000条