华为云用户手册

  • external_pid_file 参数说明:声明可被服务器管理程序使用的额外PID文件,仅sysadmin用户可以访问。 参数类型:字符串 参数单位:无 取值范围:合法文件名称。 默认值:"" 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 该参数只能在数据库服务重新启动后生效。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • data_directory 参数说明:设置 GaussDB 的数据目录(data目录),仅sysadmin用户可以访问。 参数类型:字符串 参数单位:无 取值范围:合法目录路径。 默认值:安装时指定,如果在安装时不指定,则默认不初始化数据库。 设置方式:此参数可以通过如下方式设置: 在安装GaussDB时设置。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • config_file 参数说明:设置主服务器配置文件名称(gaussdb.conf)。 参数类型:字符串 参数单位:无 取值范围:长度大于0的字符串。 默认值:gaussdb.conf(实际安装可能带有绝对目录)。 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • ident_file 参数说明:设置用于客户端认证的配置文件的名称(gs_ident.conf),仅sysadmin用户可以访问。 参数类型:字符串 参数单位:无 取值范围:长度大于0的字符串。 默认值:gs_ident.conf(实际安装可能带有绝对目录)。 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:不建议修改配置文件参数。 设置不当的风险与影响:修改后可能会影响集群升级、备份功能。
  • hba_file 参数说明:设置基于主机认证(HBA)的配置文件(gs_hba.conf)。此参数只能在配置文件gaussdb.conf中指定,仅sysadmin用户可以访问。 参数类型:字符串 参数单位:无 取值范围:长度大于0的字符串。 默认值:gs_hba.conf(实际安装可能带有绝对目录)。 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:不建议修改配置文件参数。 设置不当的风险与影响:修改后可能会影响集群升级、备份功能。
  • enable_access_server_directory 参数说明:是否允许非初始用户创建、修改和删除DIRECTORY对象。 参数类型:布尔型 参数单位:无 取值范围: on:表示允许非初始用户创建、修改和删除DIRECTORY对象。 off:表示不允许非初始用户创建、修改和删除DIRECTORY对象。 默认值:off 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。 用户在使用高级包UTL_FILE访问服务器端文件时,要求必须拥有所指定的DIRECTORY对象的权限。 出于安全考虑,默认情况下,只有初始用户才能够创建、修改、删除DIRECTORY对象。 如果开启了enable_access_server_directory,具有SYSADMIN权限的用户和继承了内置角色gs_role_directory_create权限的用户可以创建directory对象;具有SYSADMIN权限的用户、directory对象的属主、被授予了该directory的DROP权限的用户或者继承了内置角色gs_role_directory_drop权限的用户可以删除directory对象;具有SYSADMIN权限的用户和directory对象的属主可以修改directory对象的所有者,且要求该用户是新属主的成员。
  • enable_nonsysadmin_execute_direct 参数说明:是否允许非系统管理员和非监控管理员执行EXECUTE DIRECT ON语句。 参数类型:布尔型 参数单位:无 取值范围: on:表示允许任意用户执行EXECUTE DIRECT ON语句。 off:表示只允许系统管理员和监控管理员执行EXECUTE DIRECT ON语句。 默认值:off 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • audit_xid_info 参数说明:该参数决定是否在审计日志字段detail_info中记录SQL语句的事务ID。 参数类型:整型 参数单位:无 取值范围:0、1 0:表示关闭审计日志记录事务ID功能。 1:表示开启审计日志记录事务ID功能。 默认值:0 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。 如果开启此开关,审计日志中detail_info信息则以xid开始,例如: detail_info: xid=14619 , create table t1(id int); 对于不存在事务ID的审计行为,则记录xid=NA。
  • audit_copy_exec 参数说明:这个参数决定是否对COPY操作进行审计。 参数类型:整型 参数单位:无 取值范围:0、1 0:表示关闭COPY审计功能。 1:表示开启COPY审计功能。 默认值:1 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:此参数设置为1,当数据库频繁执行COPY操作时会频繁记录审计日志,导致数据库性能下降。
  • audit_set_parameter 参数说明:该参数表示是否对SET操作进行审计。 参数类型:整型 参数单位:无 取值范围:0、1 0:表示关闭SET审计功能。 1:表示开启SET审计功能。 默认值:0 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:此参数设置为1,当数据库频繁执行SET操作时会频繁记录审计日志,导致数据库性能下降。
  • enableSeparationOfDuty 参数说明:是否开启三权分立选项。 参数类型:布尔型 参数单位:无 取值范围: on:表示开启三权分立。 off:表示不开启三权分立。 默认值:off 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:此参数设置为on,系统管理员权限会受限制,部分之前可以执行的操作会无法执行。
  • audit_system_function_exec 参数说明:这个参数决定在执行白名单内的系统函数时是否记录审计日志。 参数类型:整型 参数单位:无 取值范围:0、1 0:表示关闭系统函数执行的审计功能。 1:表示开启系统函数执行的审计功能。 默认值:0 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:此参数设置为1,当数据库频繁执行白名单内系统函数时会频繁记录审计日志,导致数据库性能下降。 支持记录审计的系统函数白名单如下表所示: set_working_grand_version_num_manually set_config pg_terminate_backend pg_cancel_backend pg_cancel_session pg_cancel_invalid_query pg_reload_conf pg_rotate_logfile pg_terminate_session pg_terminate_backend pg_start_backup pg_stop_backup pg_create_restore_point pg_switch_xlog pg_cbm_get_merged_file pg_cbm_recycle_file pg_enable_delay_ddl_recycle pg_disable_delay_ddl_recycle pg_cbm_rotate_file gs_roach_enable_delay_ddl_recycle gs_roach_disable_delay_ddl_recycle gs_roach_stop_backup pg_last_xlog_receive_location pg_xlog_replay_pause pg_xlog_replay_resume gs_roach_switch_xlog gs_pitr_archive_slot_force_advance gs_pitr_clean_history_global_barriers gs_download_obs_file gs_upload_obs_file gs_set_obs_file_context gs_set_obs_delete_location gs_hadr_do_switchover gs_set_obs_delete_location_with_slotname gs_streaming_dr_in_switchover pg_advisory_lock pg_advisory_lock_shared pg_advisory_unlock pg_advisory_unlock_shared pg_advisory_unlock_all pg_advisory_xact_lock pg_advisory_xact_lock_shared pg_try_advisory_lock pg_try_advisory_lock_shared pg_try_advisory_xact_lock pg_try_advisory_xact_lock_shared gs_get_hadr_key_cn pg_create_physical_replication_slot_extern pg_create_logical_replication_slot pg_drop_replication_slot pg_logical_slot_peek_changes pg_logical_slot_get_changes pg_logical_slot_get_binary_changes pg_replication_origin_drop pg_replication_origin_session_reset local_space_shrink gs_space_shrink global_space_shrink pg_free_remain_segment gs_fault_inject sqladvisor.init sqladvisor.set_weight_params sqladvisor.set_cost_params sqladvisor.assign_table_type gs_repair_file local_clear_bad_block_info gs_repair_page - - - - -
  • audit_function_exec 参数说明:该参数表示在执行存储过程、匿名块或自定义函数(不包括系统自带函数)时是否记录审计信息。 参数类型:整型 参数单位:无 取值范围:0、1 0:表示关闭对存储过程、匿名块或自定义函数(不包括系统自带函数)执行的审计功能。 1:表示开启对存储过程、匿名块或自定义函数(不包括系统自带函数)执行的审计功能。 默认值:0 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:此参数设置为1,当数据库频繁执行存储过程、匿名块或自定义函数时会频繁记录审计日志,导致数据库性能下降。
  • audit_dml_state 参数说明:该参数表示是否对所有表的INSERT、UPDATE、DELETE、MERGE操作进行审计。 参数类型:整型 参数单位:无 取值范围:0、1 0:表示关闭具体表的INSERT、UPDATE、DELETE、MERGE操作审计功能。 1:表示开启具体表的INSERT、UPDATE、DELETE、MERGE操作审计功能。 默认值:0 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:此参数设置为1,当数据库频繁进行INSERT、UPDATE、DELETE、MERGE操作时会频繁记录审计日志,导致数据库性能下降。
  • audit_dml_state_select 参数说明:该参数表示是否对SELECT操作进行审计。 参数类型:整型 参数单位:无 取值范围:0、1 0:表示关闭SELECT操作审计功能。 1:表示开启SELECT操作审计功能。 默认值:0 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:此参数设置为1,当数据库频繁进行SELECT操作时会频繁记录审计日志,导致数据库性能下降。
  • audit_system_object 参数说明:该参数表示是否对数据库对象的CREATE、DROP、ALTER等操作进行审计。数据库对象包括DATABASE、USER、SCHEMA、TABLE等。通过修改该配置参数的值,可以只审计需要的数据库对象的操作。参数类型:整型 参数单位:无 取值范围:0 ~ 536870911 0代表关闭数据库对象的CREATE、DROP、ALTER等操作审计功能。 非0代表只审计某类或者某些数据库对象的CREATE、DROP、ALTER等操作。 取值说明: 该参数的值由29个二进制位的组合求出,这29个二进制位分别代表29类数据库对象。如果对应的二进制位取值为0,表示不审计对应的数据库对象的CREATE、DROP、ALTER等操作;取值为1,表示审计对应的数据库对象的CREATE、DROP、ALTER等操作。这29个二进制位代表的具体审计内容请参见表1。 用于记录SQL PATCH的参数存在特殊性,如果对该对象进行审计且audit_dml_state_select也开启时,对于一条SQL PATCH操作的审计日志会作为DML和DDL被记录两次,如果调用remote接口,则会在入参对应的节点上产生DDL日志,而不是在下发语句的节点上。 默认值:67121159(十进制),对应二进制为:0 0100 0000 0000 0011 0000 0000 0111,表示对DATABASE、SCHEMA、USER、NODE GROUP、SQLPatch这五种数据库对象的DDL操作进行审计。 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:根据业务需要设置记录审计的数据库对象类型。在主备强制选主场景建议audit_system_object取最大值,所有DDL对象全部审计。 设置不当的风险与影响:需要审计的对象越多,对系统性能的影响越大,占用的系统CPU和I/O越多。 表1 audit_system_object取值含义说明 二进制位 含义 取值说明 第0位 是否审计DATABASE对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第1位 是否审计SCHEMA对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第2位 是否审计USER和USER MAPPING对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第3位 是否审计TABLE对象的CREATE、DROP、ALTER、TRUNCATE操作。 0表示不审计该对象的CREATE、DROP、ALTER、TRUNCATE操作。 1表示审计该对象的CREATE、DROP、ALTER、TRUNCATE操作。 第4位 是否审计INDEX对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第5位 是否审计VIEW/MATVIEW对象的CREATE、DROP操作。 0表示不审计该对象的CREATE、DROP操作。 1表示审计该对象的CREATE、DROP操作。 第6位 是否审计TRIGGER对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第7位 是否审计PROCEDURE/FUNCTION对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第8位 是否审计TABLESPACE对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第9位 是否审计RESOURCE POOL对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第10位 是否审计WORKLOAD对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第11位 是否审计SERVER对象的CREATE、DROP、ALTER操作 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第12位 保留 - 第13位 是否审计NODE GROUP对象的CREATE、DROP操作。 0表示不审计该对象的CREATE、DROP操作。 1表示审计该对象的CREATE、DROP操作。 第14位 是否审计ROW LEVEL SECURITY对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第15位 是否审计TYPE对象的CREATE、DROP、ALTER操作。 0表示不审计TYPE对象的CREATE、DROP、ALTER操作。 1表示审计TYPE对象的CREATE、DROP、ALTER操作。 第16位 是否审计TEXT SEARCH对象(CONFIGURATION和DICTIONARY)的CREATE、DROP、ALTER操作。 0表示不审计TEXT SEARCH对象的CREATE、DROP、ALTER操作。 1表示审计TEXT SEARCH对象的CREATE、DROP、ALTER操作。 第17位 是否审计DIRECTORY对象的CREATE、DROP、ALTER操作。 0表示不审计DIRECTORY对象的CREATE、DROP、ALTER操作。 1表示审计DIRECTORY对象的CREATE、DROP、ALTER操作。 第18位 是否审计SYNONYM对象的CREATE、DROP、ALTER操作。 0表示不审计SYNONYM对象的CREATE、DROP、ALTER操作。 1表示审计SYNONYM对象的CREATE、DROP、ALTER操作。 第19位 是否审计SEQUENCE对象的CREATE、DROP、ALTER操作。 0表示不审计SEQUENCE对象的CREATE、DROP、ALTER操作。 1表示审计SEQUENCE对象的CREATE、DROP、ALTER操作。 第20位 是否审计CMK、CEK对象的CREATE、ALTER、DROP操作。 0表示不审计CMK、CEK对象的CREATE、ALTER、DROP操作。 1表示审计CMK、CEK对象的CREATE、ALTER、DROP操作。 第21位 是否审计PACKAGE对象的CREATE、DROP、ALTER操作(目前仅集中式支持PACKAGE)。 0表示不审计PACKAGE对象的CREATE、DROP、ALTER操作。 1表示审计PACKAGE对象的CREATE、DROP、ALTER操作。 第22位 保留 - 第23位 保留 - 第24位 是否审计对gs_global_config全局对象的ALTER、DROP操作。 0表示不审计对系统表gs_global_config全局对象的ALTER、DROP操作。 1表示审计对系统表gs_global_config全局对象的ALTER、DROP操作。 第25位 是否审计FOREIGN DATA WRAPPER对象的CREATE、DROP、ALTER操作,目前该功能暂不支持。 0表示不审计FOREIGN DATA WRAPPER对象的CREATE、DROP、ALTER操作。 1表示审计FOREIGN DATA WRAPPER对象的CREATE、DROP、ALTER操作。 第26位 是否审计SQL PATCH对象的CREATE、ENABLE、DISABLE、DROP操作。 0表示不审计SQL PATCH对象的CREATE、ENABLE、DISABLE、DROP操作。 1表示审计SQL PATCH对象的CREATE、ENABLE、DISABLE、DROP操作。 第27位 保留 - 第28位 是否审计DBLINK对象的CREATE、ALTER、DROP操作。目前DATABASE LINK功能暂不支持。 0表示不审计DBLINK对象的CREATE、ALTER、DROP操作。 1表示审计DBLINK对象的CREATE、ALTER、DROP操作。
  • Hint的错误、冲突及告警 Plan Hint的结果会体现在计划的变化上,可以通过explain来查看变化。 hint中的错误不会影响语句的执行,只是不能生效,该错误会根据语句类型以不同方式提示用户。对于explain语句,hint的错误会以warning形式显示在界面上,对于非explain语句,会以debug1级别日志显示在日志中,关键字为PLANHINT。 hint的错误分为以下类型: 语法错误 语法规则树归约失败,会报错,指出出错的位置。 例如:hint关键字错误,leading hint或join hint指定2个表以下,其它hint未指定表等。一旦发现语法错误,则立即终止hint的解析,所以此时只有错误前面解析完的hint有效。 例如: 1 leading((t1 t2)) nestloop(t1) rows(t1 t2 #10) nestloop(t1)存在语法错误,则终止解析,可用hint只有之前解析的leading((t1 t2))。 语义错误 表不存在、存在多个、或在leading或join中出现多次,均会报语义错误。 scanhint中的index不存在,会报语义错误。 如果子查询提升后,同一层出现多个名称相同的表,且其中某个表需要被hint,hint会存在歧义,无法使用,需要为相同表增加别名规避。 hint重复或冲突 如果存在hint重复或冲突,只有第一个hint生效,其它hint均会失效,会给出提示。 hint重复是指,hint的方法及表名均相同。例如:nestloop(t1 t2) nestloop(t1 t2)。 hint冲突是指,table list一样的hint,存在不一样的hint,hint的冲突仅对于每一类hint方法检测冲突。 例如:nestloop (t1 t2) hashjoin (t1 t2),则后面与前面冲突,此时hashjoin的hint失效。注意:nestloop(t1 t2)和no mergejoin(t1 t2)不冲突。 leading hint中的多个表会进行拆解。例如:leading ((t1 t2 t3))会拆解成:leading((t1 t2)) leading(((t1 t2) t3)),此时如果存在leading((t2 t1)),则两者冲突,后面的会被丢弃。(例外:指定内外表的hint若与不指定内外表的hint重复,则始终丢弃不指定内外表的hint。) 查询改写的hint允许重复,但对于重复的hint数据库只会使用第一个,对于其他未使用的hint则会报"unused hint" Warning提示。例如:/*+ expand_sublink expand_sublink */由于数据库只使用第一个expand_sublink hint,所以仍然会报"unused hint" Warning提示。 子链接提升后hint失效 子链接提升后的hint失效,会给出提示。通常出现在子链接中存在多个表连接的场景。提升后,子链接中的多个表不再作为一个整体出现在join中。 列类型不支持重分布 对于skew hint来说,目的是为了进行重分布时的调优,所以当hint列的类型不支持重分布时,hint将无效。 hint未被使用 非等值join使用hashjoin hint或mergejoin hint。 不包含索引的表使用indexscan hint、index hint或indexonlyscan hint。 不包含全局二级索引的表使用gsi hint和gsitable hint。 通常只有在索引列上使用过滤条件才会生成相应的索引路径,全表扫描将不会使用索引,因此使用indexscan hint、index hint、indexonlyscan hint或gsi hint将不会使用。 indexonlyscan只有输出列仅包含索引列才会使用,否则指定时hint不会被使用。 gsi只有查询能够下推至全局二级索引时才会使用,否则不会被使用。 多个表存在等值连接时,仅尝试有等值连接条件的表连接,此时没有关联条件的表之间的路径将不会生成,所以指定相应的leading、join、rows hint将不使用,例如:t1 t2 t3表join,t1和t2, t2和t3有等值连接条件,则t1和t3不会优先连接,leading(t1 t3)不会被使用。 生成stream计划时,如果表的分布列与join列相同,则不会生成redistribute的计划。如果不同,且另一表分布列与join列相同,只能生成redistribute的计划,不会生成broadcast的计划,指定相应的hint则不会被使用。 如果子链接未被提升,则blockname hint不会被使用。 对于skew hint,hint未被使用可能由于: 计划中不需要进行重分布。 hint指定的列包含分布键。 hint指定倾斜信息有误或不完整,如对于join优化未指定值。 倾斜优化的GUC参数处于关闭状态。 父主题: 使用Plan Hint进行调优
  • 检查隐式转换的性能问题 在某些场景下,数据类型的隐式转换可能会导致潜在的性能问题。请看如下场景: SET enable_fast_query_shipping = off; CREATE TABLE t1(c1 VARCHAR, c2 VARCHAR); CREATE INDEX on t1(c1); EXPLAIN verbose SELECT * FROM t1 WHERE c1 = 10; 上述查询的执行计划如下: c1的数据类型是varchar,当查询的过滤条件为c1 = 10时,优化器默认将c1隐式转换为bigint类型,导致两个后果: 不能进行DN裁剪,计划下发到所有DN上执行。 计划中不能使用Index Scan方式扫描数据。 这会引起潜在的性能问题。 当知道了问题原因后,可以做针对性的SQL改写。对于上述场景,只要将过滤条件中的常量显式转换为varchar类型,结果如下: EXPLAIN verbose SELECT * FROM t1 WHERE c1 = 10::varchar; 为了提前识别隐式类型转换可能带来的性能影响,GaussDB提供了一个guc option:check_implicit_conversions。打开该参数后,对于查询中出现的隐式类型转换的索引列,在路径生成阶段进行检查,如果发现索引列没有生成候选的索引扫描路径,则会通过报错的形式提示给用户。举例如下: SET check_implicit_conversions = on; SELECT * FROM t1 WHERE c1 = 10; ERROR: There is no optional index path for index column: "t1"."c1". 参数check_implicit_conversions只用于检查隐式类型转换引起的潜在性能问题,在正式生产环境中请关闭该参数(该参数默认关闭)。 在将check_implicit_conversions打开时,必须同时关闭enable_fast_query_shipping参数,否则由于后一个参数的作用,无法查看对隐式类型转换修复的结果。 一个表的候选路径可能包括seq scan和index scan等多个可能的数据扫描方式,最终执行计划使用的表扫描方式是由执行计划的代价来决定的,因此即使生成了索引扫描的候选路径,也可能生成的最终执行计划中使用其它扫描方式。 父主题: SQL调优指南
  • SUMMARY_STATEMENT_COUNT 显示数据库各节点执行的五类语句(SELECT、INSERT、UPDATE、DELETE、MERGE INTO)和(DDL、DML、DCL)的汇总统计信息,如表1所示。 表1 SUMMARY_STATEMENT_COUNT字段 名称 类型 描述 user_name text 用户名。 select_count numeric select语句统计结果。 update_count numeric update语句统计结果。 insert_count numeric insert语句统计结果。 delete_count numeric delete语句统计结果。 mergeinto_count numeric merge into语句统计结果。 ddl_count numeric DDL语句的数量。该统计结果包含用户执行的SQL语句和数据库后台线程执行的SQL语句。 dml_count numeric DML语句的数量。该统计结果包含用户执行的SQL语句和数据库后台线程执行的SQL语句。 dcl_count numeric DCL语句的数量。该统计结果包含用户执行的SQL语句和数据库后台线程执行的SQL语句。 total_select_elapse numeric 总select的时间花费(单位:微秒)。 avg_select_elapse bigint 平均select的时间花费(单位:微秒)。 max_select_elapse bigint 最大select的时间花费(单位:微秒)。 min_select_elapse bigint 最小select的时间花费(单位:微秒)。 total_update_elapse numeric 总update的时间花费(单位:微秒)。 avg_update_elapse bigint 平均update的时间花费(单位:微秒)。 max_update_elapse bigint 最大update的时间花费(单位:微秒)。 min_update_elapse bigint 最小update的时间花费(单位:微秒)。 total_insert_elapse numeric 总insert的时间花费(单位:微秒)。 avg_insert_elapse bigint 平均insert的时间花费(单位:微秒)。 max_insert_elapse bigint 最大insert的时间花费(单位:微秒)。 min_insert_elapse bigint 最小insert的时间花费(单位:微秒)。 total_delete_elapse numeric 总delete的时间花费(单位:微秒)。 avg_delete_elapse bigint 平均delete的时间花费(单位:微秒)。 max_delete_elapse bigint 最大delete的时间花费(单位:微秒)。 min_delete_elapse bigint 最小delete的时间花费(单位:微秒)。 dbid oid 统计的五类语句(SELECT、INSERT、UPDATE、DELETE、MERGE INTO)所属的数据库id。 user_dml_count bigint 用户执行的DML语句的数量。 bg_dml_count bigint 数据库后台线程执行的DML语句的数量。 父主题: Query
  • enable_innertool_cert 参数说明:该参数决定内部工具是否使用证书认证。 参数类型:布尔型 参数单位:无 取值范围: on:表示内部工具使用证书认证。 off:表示内部工具不使用证书认证。 默认值:off 此参数必须与参数ssl同时打开才能生效。 此参数打开后,使用的证书默认配置的是$GAUSSHOME/share/sslcert/gsql目录下的证书,证书的Common Name必须与初始用户相同,否则认证失败。 此参数打开后,初始用户使用证书认证,其他用户则需要使用密码方式认证。 此参数打开后,允许初始用户使用证书认证方式远程连接数据库。 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值,如果用户对安全性要求比较高,建议打开参数,并正确配置相关证书。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • password_min_lowercase 参数说明:该参数决定账户密码中至少需要包含的小写字母的个数,仅sysadmin用户可以访问。 参数类型:整型 参数单位:无 取值范围:0 ~ 999 0表示没有限制。 1~999表示创建账户所指定的密码中至少需要包含的小写字母的个数。 默认值:0 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:根据实际业务需求配置,推荐使用默认值。 设置不当的风险与影响:设置长度超过password_max_length会导致账户无法正常创建。
  • password_min_uppercase 参数说明:该参数决定账户密码中至少需要包含的大写字母的个数,仅sysadmin用户可以访问。 参数类型:整型 参数单位:无 取值范围:0 ~ 999 0表示没有限制。 1~999表示创建账户所指定的密码中至少需要包含的大写字母的个数。 默认值:0 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:根据实际业务需求配置,推荐使用默认值。 设置不当的风险与影响:设置长度超过password_max_length会导致账户无法正常创建。
  • password_notify_time 参数说明:该参数决定账户密码到期前提醒的天数。 参数类型:整型 参数单位:天(d) 取值范围:0 ~ 999 0表示不开启提醒功能。 1~999表示账户密码到期前提醒的天数。 默认值:7 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:设置为0时,可能导致账户密码到期没有被提前感知。
  • password_min_digital 参数说明:该参数决定账户密码中至少需要包含的数字的个数,仅sysadmin用户可以访问。 参数类型:整型 参数单位:无 取值范围:0 ~ 999 0表示没有限制。 1~999表示创建账户所指定的密码中至少需要包含的数字的个数。 默认值:0 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:根据实际业务需求配置,推荐使用默认值。 设置不当的风险与影响:设置长度超过password_max_length会导致账户无法正常创建。
  • password_min_special 参数说明:该参数决定账户密码中至少需要包含的特殊字符的个数,仅sysadmin用户可以访问。 参数类型:整型 参数单位:无 取值范围:0 ~ 999 0表示没有限制。 1~999表示创建账户所指定的密码中至少需要包含的特殊字符的个数。 默认值:0 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:根据实际业务需求配置,推荐使用默认值。 设置不当的风险与影响:设置长度超过password_max_length会导致账户无法正常创建。
  • password_effect_time 参数说明:该参数决定账户密码的有效时间。 参数类型:浮点型 参数单位:天(d) 取值范围:0 ~ 999。整数部分表示天数,小数部分可以换算成时、分、秒,如:password_effect_time=0.5,表示0天零12小时。 0表示不开启账户密码有效期限制功能。 1~999表示创建账户所指定的密码有效期,临近或超过有效期时,系统会提示用户修改密码。 默认值:0 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐配置用户密码的有效时间,参数设置越小越安全,但对用户使用带来不便,请依据业务安全诉求进行设置。 设置不当的风险与影响:设置为0时,密码长期不修改会存在安全风险。
  • password_lock_time 参数说明:该参数指定账户被锁定后自动解锁所需的时间。 只有当password_lock_time和failed_login_attempts的取值都为正数时,账户锁定和解锁功能才能生效。 参数类型:浮点型 参数单位:天(d) 取值范围:0~365。取值的整数部分表示天数,小数部分可以换算成时、分、秒,如:password_lock_time=1.5,表示1天零12小时。 0表示密码验证失败时,自动锁定功能不生效。 正数表示账户被锁定后,当锁定时间超过password_lock_time设定的值时,账户将会被自行解锁。 默认值:1 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。取值如果要带单位,必须为d。 设置建议:设置为默认值。自动解锁时间不宜设置过长,需要同failed_login_attempts参数设置保持在合理范围内。 设置不当的风险与影响:如果failed_login_attempts参数设置过小,自动解锁时间设置过长,会导致因误输入导致账号长时间无法使用,影响用户正常使用。
  • password_min_length 参数说明:该参数决定账户密码的最小长度,仅sysadmin用户可以访问。 参数类型:整型 参数单位:无 取值范围:6 ~ 999 默认值:8 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:根据实际业务需求配置,推荐使用默认值。 设置不当的风险与影响:设置长度超过password_max_length会导致账户无法正常创建。
  • password_encryption_type 参数说明:该参数决定采用何种加密方式对用户密码进行加密存储。修改此参数的配置不会自动触发已有用户密码加密方式的修改,只会对新创建用户的密码或已有用户修改的密码采用新的加密方式进行加密。 参数类型:整型 参数单位:无 取值范围:0、1、2、3 0:表示采用md5方式对密码加密。 1:表示采用sha256和md5两种方式分别对密码加密。 2:表示采用sha256方式对密码加密。 3:表示采用sm3方式对密码加密。 默认值:2 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:MD5加密算法安全性低,不建议使用,设置为0或1时存在安全风险。
  • password_max_length 参数说明:该参数决定账户密码的最大长度,仅sysadmin用户可以访问。 参数类型:整型 参数单位:无 取值范围:6~999 默认值:32 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:根据实际业务需求配置,推荐使用默认值。 设置不当的风险与影响:设置长度小于password_min_length会导致账户无法正常创建。
共100000条