华为云用户手册

  • force_bitmapand 参数说明:控制优化器对bitmap and规划类型的强制使用。该参数可在PDB级别设置。 参数类型:布尔型 参数单位:无 取值范围: on:表示使用。 off:表示不使用。 默认值:off。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:打开该参数后当满足bitmap and索引扫描算子使用条件时,优化器生成计划会强制走bitmap and索引扫描,部分场景下可能影响查询性能。若要更改,请谨慎操作,避免因误操作产生意料之外的风险。
  • enable_bitmapscan 参数说明:控制优化器对位图扫描规划类型的使用。 参数类型:布尔型 参数单位:无 取值范围: on:表示使用。 off:表示不使用。 默认值:on 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:关闭之后会全局禁止bitmap scan算子,可能导致部分场景性能下降。若要更改,请谨慎操作,避免因误操作产生意料之外的风险。
  • enable_hashjoin 参数说明:控制优化器对Hash连接规划类型的使用。 参数类型:布尔型 参数单位:无 取值范围: on:表示使用。 off:表示不使用。 默认值:on 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:关闭后会全局禁止使用Hash Join算子,优先生成其他Join类型计划,可能导致部分场景性能下降。若要更改,请谨慎操作,避免因误操作产生意料之外的风险。
  • enable_hashagg 参数说明:控制优化器对Hash聚集规划类型的使用。该参数可在PDB级别设置。 参数类型:布尔型 参数单位:无 取值范围: on:表示使用。 off:表示不使用。 默认值:on。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:关闭后会导致部分场景下Hash聚集算子无法使用,影响查询改写逻辑,使查询性能下降。若要更改,请谨慎操作,避免因误操作产生意料之外的风险。
  • enable_material 参数说明:控制优化器对实体化的使用。消除整个实体化是不可能的,但是可以关闭这个参数以防止优化器插入实体节点。该参数可在PDB级别设置。 参数类型:布尔型 参数单位:无 取值范围: on:表示使用。 off:表示不使用。 默认值:on。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:关闭后会禁止优化器插入实体节点,部分场景下无法生成Material算子,可能导致部分场景性能下降。
  • enable_indexscan 参数说明:控制优化器对索引扫描规划类型的使用。该参数可在PDB级别设置。 参数类型:布尔型 参数单位:无 取值范围: on:表示使用。 off:表示不使用。 默认值:on。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:关闭后会全局禁止使用索引扫描算子,可能导致部分场景性能下降。若要更改,请谨慎操作,避免因误操作产生意料之外的风险。
  • enable_indexonlyscan 参数说明:控制优化器对仅索引扫描规划类型的使用。该参数可在PDB级别设置。 参数类型:布尔型 参数单位:无 取值范围: on:表示使用。 off:表示不使用。 默认值:on。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:关闭后会全局禁止使用仅索引扫描算子,一些仅需要走索引扫描不需要回表的计划将无法生成,可能导致部分场景性能下降。若要更改,请谨慎操作,避免因误操作产生意料之外的风险。
  • GLOBAL_PARALLEL_DECODE_THREAD_INFO GLOBAL_PARALLEL_DECODE_THREAD_INFO视图用于查看当前节点上的复制槽的并行解码线程信息,如表1所示。 表1 GLOBAL_PARALLEL_DECODE_THREAD_INFO字段 名称 类型 描述 node_name name 节点名称。 thread_id bigint 线程id。 slot_name text 复制槽名。 thread_type text 线程种类(共三种,sender代表发送线程,reader代表读取线程,decoder代表解码线程)。 seq_number integer 当前复制槽中同种线程的序号(从1开始)。 父主题: Utility
  • SQL语法格式说明 表1 SQL语法格式说明 格式 意义 [ ] 表示用“[ ]”括起来的部分是可选的。 ... 表示前面的元素可重复出现。 [ x | y | ... ] 表示从两个或多个选项中选取一个或者不选。 { x | y | ... } 表示从两个或多个选项中选取一个。 [x | y | ... ] [ ... ] 表示可选多个参数或者不选,如果选择多个参数,则参数之间用空格分隔。 [ x | y | ... ] [ ,... ] 表示可选多个参数或者不选,如果选择多个参数,则参数之间用逗号分隔。 { x | y | ... } [ ... ] 表示可选多个参数,至少选一个,如果选择多个参数,则参数之间以空格分隔。 { x | y | ... } [ ,... ] 表示可选多个参数,至少选一个,如果选择多个参数,则参数之间用逗号分隔。 父主题: SQL语法
  • GS_DATABASE_DETAILS GS_DATABASE_DETAILS视图显示当前PG_DATABASE系统表中的所有信息,并展示其状态为开启或关闭。 表1 PG_DATABASE字段 名称 类型 描述 datname name 数据库名称。 datdba oid 数据库所有人,通常为其创建者。 encoding integer 数据库的字符编码方式。 datcollate name 数据库使用的排序顺序。 datctype name 数据库使用的字符分类。 datistemplate boolean 是否允许作为模板数据库。 true:允许作为模板数据库。 false:不允许作为模板数据库。 datallowconn boolean 控制是否允许用户连接数据库,用于保护template0/templatea数据库不被更改。 true:表示用户可以连接数据库。 false:表示用户不可以连接数据库。 datconnlimit integer 该数据库上允许的最大并发连接数,-1表示无限制。 datlastsysoid oid 数据库里最后一个系统OID 。 datfrozenxid xid32 用于跟踪该数据库是否需要为了防止事务ID重叠而进行清理。当前版本该字段已经废弃使用,为保持前向兼容,保留此字段,新增datfrozenxid64用于记录此信息。 dattablespace oid 数据库的缺省表空间。 datcompatibility name 数据库兼容模式,当前支持五种兼容模式:A、B、C、M、PG,分别表示兼容O、MY、TD、M-Compatibility和POSTGRES。 datacl aclitem[] 访问权限。 datfrozenxid64 xid 用于跟踪该数据库是否需要为了防止事务ID重叠而进行清理。 datminmxid xid 该数据库中所有在这个之前的多事务ID已经被一个事务ID替换。用于跟踪该数据库是否需要为了防止事务ID重叠或者允许收缩pg_clog而进行清理。它是此数据库中所有表的13.2.15.27 PG_CLASS中relminmxid的最小值。 dattimezone name 数据库时区信息,默认为PRC时区。 dattype "char" 数据库类型。 D:普通数据库。 P:PDB。 is_opened boolean PDB的开启状态。 true:代表开启PDB。 false:代表关闭PDB。 说明: 如果是CDB此字段为true。 父主题: 多租数据库
  • 使用LIKE进行模糊查找时如何忽略大小写? 答:可以将LIKE改为ILIKE,也可以使用upper或者lower函数。具体示例如下: --前置操作创建表和插入数据。 gaussdb=# CREATE TABLE tbl_test1(c1 varchar); gaussdb=# INSERT INTO tbl_test1 VALUES ('EEE'),('ABC'),('abc'),('aabccd'); --使用like进行模糊查询,结果过滤了所有大写的字符串,不符合预期。 gaussdb=# SELECT * FROM tbl_test1 WHERE c1 LIKE 'ab%'; c1 ----- abc (1 row) --使用ILIKE进行模糊查询。 gaussdb=# SELECT * FROM tbl_test1 WHERE c1 ILIKE 'ab%'; c1 ----- ABC abc (2 rows) --使用upper()函数。 gaussdb=# SELECT * FROM tbl_test1 WHERE upper(c1) LIKE 'AB%'; c1 ----- ABC abc (2 rows) --删除。 gaussdb=# DROP TABLE tbl_test1; 父主题: FAQ
  • 结构 PL/SQL块中可以包含子块,子块可以位于PL/SQL中任何部分。PL/SQL块的结构如下: 声明部分:声明PL/SQL用到的变量、类型、游标、局部的存储过程和函数。 DECLARE 不涉及变量声明时声明部分可以没有。 对匿名块来说,没有变量声明部分时,可以省去DECLARE关键字。 对存储过程来说,没有DECLARE, AS相当于DECLARE。即便没有变量声明的部分,关键字AS也必须保留。 执行部分:过程及SQL语句,程序的主要部分。必选。 BEGIN 执行异常部分:错误处理。可选。 EXCEPTION 结束。必选。 END; / 禁止在PL/SQL块中使用连续的Tab,连续的Tab可能会造成在使用gsql工具带“-r”参数执行PL/SQL块时出现异常。
  • DB_CONS_COLUMNS DB_CONS_COLUMNS视图显示当前用户可访问的约束字段的信息。该视图同时存在于PG_CATA LOG 和SYS Schema下。 表1 DB_CONS_COLUMNS字段 名称 类型 描述 constraint_name character varying(64) 约束名。 table_name character varying(64) 约束相关的表名。 column_name character varying(64) 约束相关的列名。 owner character varying(64) 约束创建者。 position smallint 表中列的位置。 父主题: 其他系统视图
  • ADM_IND_COLUMNS ADM_IND_COLUMNS视图显示数据库中索引字段的信息。默认只有系统管理员权限才可以访问,普通用户需要授权才可以访问。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 ADM_IND_COLUMNS字段 名称 类型 描述 index_owner character varying(64) 索引的所有者。 index_name character varying(64) 索引名。 table_owner character varying(64) 表的所有者。 table_name character varying(64) 表名。 column_name name 列名。 column_position smallint 索引中列的位置。 column_length numeric 列的长度,如果列是变长类型,该字段取值为NULL。 char_length numeric 列的最大字节长度。 descend character varying(4) 列是降序(DESC)排序还是升序(ASC)排序。 collated_column_id numeric 暂不支持,值为NULL。 父主题: 其他系统视图
  • track_stmt_shm_size 参数说明:控制全量SQL共享内存的大小。 参数类型:整型 参数单位:byte 取值范围:134217728 ~ 1073741824 默认值:134217728 设置方式:该参数属于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_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_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中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:如果设置参数值过大,可能会占用大量的内存或磁盘空间;参数值过小,可能会遗漏需要分析的语句。
  • enable_auto_clean_unique_sql 参数说明:当系统中产生的unique sql条目数量大于等于instr_unique_sql_count参数取值时,是否启用unique sql自动淘汰功能。每次触发淘汰时将随机淘汰10%的unique sql记录。 参数类型:布尔型 参数单位:无 取值范围: on:打开unique sql自动淘汰功能。 off:关闭unique sql自动淘汰功能。 默认值:off 设置方式:该参数属于POSTMASTER类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:由于快照有部分信息是来源于unique sql,所以开启自动淘汰的情况下,虽然可以节省一定的磁盘空间,但在淘汰功能触发期间,可能会极短暂的对性能造成轻微影响,并且在生成wdr报告时,如果选择的起始快照和终止快照跨过了淘汰发生的时间,会导致无法生成wdr报告。
  • unique_sql_retention_time 参数说明:清理unique sql哈希表的间隔,默认为30分钟。 参数类型:整型 参数单位:分钟(min) 取值范围:1 ~ 3650 默认值:30 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。取值不能带单位。 设置建议:不建议用户修改该参数,该参数当前版本无功能控制点。 设置不当的风险与影响:修改该参数取值可能导致数据库出现意料之外的结果,请保持默认值。
  • 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分析信息。
  • 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参数控制。 参数类型:布尔型 参数单位:无 取值范围: on:表示开启显示完整SQL语句信息的功能。 off:表示关闭显示完整SQL语句信息的功能。 默认值:off 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:若SQL语句普遍较长,会有更大的内存和磁盘的空间占用。
  • 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中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • enable_instr_rt_percentile 参数说明:控制是否开启计算系统中80%和95%的SQL响应时间的功能。 参数类型:布尔型 参数单位:无 取值范围: on:表示打开sql响应时间信息计算功能。 off:表示关闭sql响应时间信息计算功能。 默认值:on 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:建议开启该参数。 设置不当的风险与影响:若关闭该参数无法记录80%和95%的SQL响应时间,导致无法直观监测系统性能。
  • asp_log_directory 参数说明:asp_flush_mode设置为all或者file时,asp_log_directory决定存放服务器asp日志文件的目录。它可以是绝对路径,或者是相对路径(相对于数据目录的路径),仅sysadmin用户可以访问。 合法路径:用户对此路径有读写权限。 非法路径:用户对此路径无读写权限。 参数类型:字符串 参数单位:无 取值范围:合法目录路径。 默认值:安装时指定。 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:请在充分测试验证后进行设置。 设置不当的风险与影响:当配置文件中asp_log_directory的值为非法路径时,会导致数据库实例无法重新启动。
  • track_stmt_details_size 参数说明:设置单语句可以收集的最大的执行事件的大小。该值影响statement_history表中details字段的锁信息。该参数可在PDB级别设置。 参数类型:整型 参数单位:byte 取值范围:0 ~ 100000000 默认值:4096。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。取值不能带单位。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • instr_unique_sql_track_type 参数说明:unique sql记录sql方式。该参数可在PDB级别设置。 参数类型:枚举类型 参数单位:无 取值范围: top:只记录顶层sql。 all:记录所有sql。 默认值:all。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。 该参数默认为all。与设置为top时相比,参数值为all时会额外记录存储过程内语句的统计信息,对存储过程的执行会产生一定的性能损耗,对于存储过程内简单表达式等执行较快的语句产生的性能影响会更加严重。
  • track_stmt_session_slot 参数说明:设置一个session缓存的最大的全量SQL和慢SQL的数量,超过这个数量,新的语句执行将不会被跟踪,直到落盘线程将缓存语句落盘,留出空闲的空间。 参数类型:整型 参数单位:无 取值范围:0 ~ 2147483647。 默认值:1000 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:每个被占用的slot内存约800bit左右,具体值由语句复杂度决定。业务压力大的场景,若该值过大,会有内存快速膨胀的影响。该值过小时,可能会遗漏需要分析的语句。
  • 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。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
共100000条