华为云用户手册

  • enableSeparationOfDuty 参数说明:该参数表示是否开启三权分立选项。该参数可在PDB级别设置。 参数类型:布尔型 参数单位:无 取值范围: on:表示开启三权分立。 off:表示不开启三权分立。 默认值:off。在PDB场景内,若未设置该参数,则默认值为off。 设置方式:该参数属于POSTMASTER类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:此参数设置为on,系统管理员权限会受限制,部分之前可以执行的操作可能会无法执行。
  • audit_system_function_exec 参数说明:这个参数表示在执行白名单内的系统函数时是否记录审计日志。该参数可在PDB级别设置。 参数类型:整型 参数单位:无 取值范围:0、1 0:表示关闭对系统函数执行的审计功能。 1:表示开启对系统函数执行的审计功能。 默认值:0。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:此参数设置为1,当数据库频繁执行白名单内系统函数时会频繁记录审计日志,导致性能下降。 支持记录审计的系统函数白名单如下表所示: set_working_grand_version_num_manually set_config pg_cancel_backend pg_cancel_session pg_reload_conf pg_rotate_logfile pg_terminate_session pg_terminate_backend pg_create_restore_point pg_start_backup pg_stop_backup pg_switch_xlog pg_cbm_rotate_file pg_cbm_get_merged_file pg_cbm_recycle_file pg_enable_delay_ddl_recycle pg_disable_delay_ddl_recycle gs_roach_stop_backup gs_roach_enable_delay_ddl_recycle gs_roach_disable_delay_ddl_recycle gs_roach_switch_xlog pg_last_xlog_receive_location pg_xlog_replay_pause pg_xlog_replay_resume gs_pitr_clean_history_global_barriers gs_pitr_archive_slot_force_advance pg_create_physical_replication_slot_extern gs_set_obs_delete_location gs_hadr_do_switchover gs_set_obs_delete_location_with_slotname gs_streaming_dr_in_switchover gs_upload_obs_file gs_download_obs_file gs_set_obs_file_context gs_get_hadr_key_cn 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 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_slot_advance pg_replication_origin_create pg_replication_origin_drop pg_replication_origin_session_setup pg_replication_origin_session_reset pg_replication_origin_session_progress pg_replication_origin_xact_setup pg_replication_origin_xact_reset pg_replication_origin_advance local_space_shrink gs_space_shrink pg_free_remain_segment gs_fault_inject gs_repair_file local_clear_bad_block_info gs_repair_page - - - - - 在系统函数执行这类审计事件的审计记录中,object_name字段的内容为系统函数名,不再带函数参数。
  • audit_xid_info 参数说明:该参数表示是否在审计日志字段detail_info中记录SQL语句的事务ID。该参数可在PDB级别设置。 参数类型:整型 参数单位:无 取值范围:0、1 0:表示关闭审计日志记录事务ID功能。 1:表示开启审计日志记录事务ID功能。 默认值:0。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。 如果开启此开关,审计日志中detail_info信息则以xid开始,例如: detail_info: xid=14619 , create table t1(id int); 对于不存在事务ID的审计行为,则记录xid=NA。
  • audit_copy_exec 参数说明:这个参数表示是否对COPY操作进行审计。该参数可在PDB级别设置。 参数类型:整型 参数单位:无 取值范围:0、1 0:表示关闭COPY审计功能。 1:表示开启COPY审计功能。 默认值:1。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:此参数设置为1,当数据库频繁执行COPY操作时会频繁记录审计日志,导致性能下降。
  • audit_set_parameter 参数说明:该参数表示是否对SET操作进行审计。该参数可在PDB级别设置。 参数类型:整型 参数单位:无 取值范围:0、1 0:表示关闭SET审计功能。 1:表示开启SET审计功能。 默认值:0。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:此参数设置为1,当数据库频繁执行SET操作时会频繁记录审计日志,导致性能下降。
  • audit_function_exec 参数说明:该参数表示在执行存储过程、匿名块或自定义函数(不包括系统自带函数)时是否记录审计信息。该参数可在PDB级别设置。 参数类型:整型 参数单位:无 取值范围:0、1 0:表示关闭对存储过程、匿名块或自定义函数(不包括系统自带函数)执行的审计功能。 1:表示开启对存储过程、匿名块或自定义函数(不包括系统自带函数)执行的审计功能。 默认值:0。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:此参数设置为1,当数据库频繁执行存储过程、匿名块或自定义函数时会频繁记录审计日志,导致性能下降。
  • audit_dml_state 参数说明:该参数表示是否对所有表的INSERT、UPDATE、DELETE、MERGE操作进行审计。该参数可在PDB级别设置。 参数类型:整型 参数单位:无 取值范围:0、1 0:表示关闭所有表的INSERT、UPDATE、DELETE、MERGE操作审计功能。 1:表示开启所有表的INSERT、UPDATE、DELETE、MERGE操作审计功能。 默认值:0。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:此参数设置为1,当数据库频繁进行INSERT、UPDATE、DELETE、MERGE操作时会频繁记录审计日志,导致性能下降。
  • audit_dml_state_select 参数说明:该参数表示是否对SELECT操作进行审计。该参数可在PDB级别设置。 参数类型:整型 参数单位:无 取值范围:0、1 0:表示关闭SELECT操作审计功能。 1:表示开启SELECT操作审计功能。 默认值:0。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于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被记录两次。 默认值:67121159(十进制),对应二进制为:00100 0000 0000 0011 0000 0000 0111,表示对DATABASE、SCHEMA、USER、SQLPatch这四种数据库对象的DDL操作进行审计。 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:根据业务需要设置记录审计的数据库对象类型。在主备强制选主场景建议audit_system_object取最大值,所有DDL对象全部审计。多租场景下,该参数可在PDB级别设置,若未在PDB级别设置该参数,则继承来自全局的参数设置。 设置不当的风险与影响:需要审计的对象类型越多,对系统性能的影响越大,占用的系统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对象的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位 保留 - 第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、DROP操作。 0表示不审计CMK、CEK对象的CREATE、ALTER、DROP操作。 1表示审计CMK、CEK对象的CREATE、ALTER、DROP操作。 第21位 是否审计PACKAGE对象的CREATE、DROP、ALTER操作。 0表示不审计PACKAGE对象的CREATE、DROP、ALTER操作。 1表示审计PACKAGE对象的CREATE、DROP、ALTER操作。 第22位 是否审计MODEL对象的CREATE、DROP操作。 0表示不审计MODEL对象的CREATE、ALTER操作。 1表示审计MODEL对象的CREATE、DROP操作。 第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操作,目前仅支持CREATE功能,ALTER 、DROP 功能暂不支持。 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位 是否审计EVENT对象的CREATE、ALTER、DROP操作。 0表示不审计EVENT对象的CREATE、ENABLE、DISABLE、DROP操作。 1表示审计EVENT对象的CREATE、ENABLE、DISABLE、DROP操作。 第28位 是否审计DBLINK对象的CREATE、ALTER、DROP操作。目前DATABASE LINK功能暂不支持。 0表示不审计DBLINK对象的CREATE、ALTER、DROP操作。 1表示审计DBLINK对象的CREATE、ALTER、DROP操作。
  • 语法格式 1 2 CREATE TYPE name AS ( [ attribute_name data_type [ COLLATE collation ] [, ... ] ] ); 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 CREATE TYPE name ( INPUT = input_function, OUTPUT = output_function [ , RECEIVE = receive_function ] [ , SEND = send_function ] [ , TYPMOD_IN = type_modifier_input_function ] [ , TYPMOD_OUT = type_modifier_output_function ] [ , ANALYZE = analyze_function ] [ , INTERNALLENGTH = { internallength | VARIABLE } ] [ , PASSEDBYVALUE ] [ , ALIGNMENT = alignment ] [ , STORAGE = storage ] [ , LIKE = like_type ] [ , CATEGORY = category ] [ , PREFERRED = preferred ] [ , DEFAULT = default ] [ , ELEMENT = element ] [ , DELIMITER = delimiter ] [ , COLLATABLE = collatable ] ); 1 CREATE TYPE name; 1 2 CREATE TYPE name AS ENUM ( [ 'label' [, ... ] ] ); 1 CREATE TYPE name AS TABLE OF data_type;
  • 功能描述 在当前数据库中定义一种新的数据类型。定义数据类型的用户将成为该数据类型的拥有者。类型只适用于行存表。 有五种形式的CREATE TYPE,分别为:复合类型、基本类型、shell类型、枚举类型和集合类型。 复合类型 复合类型由一个属性名和数据类型的列表指定。如果属性的数据类型是可排序的,也可以指定该属性的排序规则。复合类型本质上和表的行类型相同,但是如果只想定义一种类型,使用CREATE TYPE避免了创建一个实际的表。单独的复合类型也是很有用的,例如可以作为函数的参数或者返回类型。 为了能够创建复合类型,必须拥有在其所有属性类型上的USAGE特权。 基本类型 用户可以自定义一种新的基本类型(标量类型)。通常来说这些函数必须是用C或者另外一种低层语言所编写。 shell类型 shell类型是一种用于后面要定义的类型的占位符,通过发出一个不带除类型名之外其他参数的CREATE TYPE命令可以创建这种类型。在创建基本类型时,需要shell类型作为一种向前引用。 枚举类型 由若干个标签构成的列表,每一个标签值都是一个非空字符串,且字符串长度必须不超过64个字节。 集合类型 类似数组,但是没有长度限制,主要在存储过程中使用。 被授予CREATE ANY TYPE权限的用户,可以在public模式和用户模式下创建类型。
  • DB_TAB_PRIVS DB_TAB_PRIVS视图记录当前用户可访问的所有对象的授权信息。所有用户都可以访问该视图。该视图同时存在于PG_CATA LOG 和SYS Schema下。 表1 DB_TAB_PRIVS字段 名称 类型 描述 grantor character varying(128) 执行授权的用户名。 grantee character varying(128) 被授予权限的用户或角色的名称。 table_schema character varying(128) 对象的模式。 table_name character varying(128) 对象的名称。 privilege character varying(40) 对象上的权限,包括USAGE、UPDATE、DELETE、INSERT、CONNECT、SELECT、EXECUTE。 grantable character varying(3) 该授权是否包含GRANT选项。 YES:包含GRANT选项。 NO:不包含GRANT选项。 type character varying(24) 对象的类型,包括NODE GROUP、COLUMN_ENCRYPTION_KEY、PACKAGE、COLUMN、TABLE、VIEW、SEQUENCE、TYPE、INDEX、DATABASE、DIRECTORY、FOREIGN DATA WRAPPER、FOREIGN SERVER、LANGUAGE、SCHEMA、TEMPLATE、FUNCTION、PROCEDURE、TABLESPACE。 hierarchy character varying(3) 暂不支持,值为NULL。 common character varying(3) 暂不支持,值为NULL。 inherited character varying(3) 暂不支持,值为NULL。 父主题: 用户和权限管理
  • 选择分布列 Hash分布表的分布列选取至关重要,需要满足以下原则: 列值应比较离散,以便数据能够均匀分布到各个DN。例如,考虑选择表的主键为分布列,如在人员信息表中选择身份证号码为分布列。 在满足第一条原则的情况下尽量不要选取存在常量filter的列。例如,表dwcjk相关的部分查询中出现dwcjk的列zqdh存在常量的约束(例如zqdh=‘000001’),那么尽量不用zqdh做分布列。 在满足前两条原则的情况下,考虑选择查询中的连接条件为分布列,以便Join任务能够下推到DN中执行,且减少DN之间的通信数据量。 对于Hash分表策略,如果分布列选择不当,可能导致数据倾斜,查询时出现部分DN的I/O短板,从而影响整体查询性能。因此在采用Hash分表策略之后需对表的数据进行数据倾斜性检查,以确保数据在各个DN上是均匀分布的。可以使用以下SQL检查数据倾斜性: 1 2 3 4 5 select xc_node_id, count(1) from tablename group by xc_node_id order by xc_node_id desc; 其中xc_node_id对应DN,一般来说,不同DN的数据量相差5%以上即可视为倾斜,如果相差10%以上就必须要调整分布列。 GaussDB 支持多分布列特性,可以更好地满足数据分布的均匀性要求。 Range/List分布表的分布列由用户根据实际需要进行选择。除了需要选择合适的分布列,还需要注意分布规则对数据分布的影响。 父主题: 审视和修改表定义
  • LOCKS LOCKS视图用于查看各打开事务所持有的锁信息,如表1所示。 表1 LOCKS字段 名称 类型 描述 locktype text 被锁定对象的类型:relation、extend、page、tuple、transactionid、virtualxid、object、userlock、advisory或tablespace。 database oid 被锁定对象所在数据库的OID: 如果被锁定的对象是共享对象,则OID为0。 如果是一个事务ID,则为NULL。 relation oid 关系的OID,如果锁定的对象不是关系,也不是关系的一部分,则为NULL。 page integer 关系内部的页面编号,如果对象不是关系页或者不是行页,则为NULL。 tuple smallint 页面里边的行编号,如果对象不是行,则为NULL。 bucket integer 哈希桶号。 virtualxid text 事务的虚拟ID,如果对象不是一个虚拟事务ID,则为NULL。 transactionid xid 事务的ID,如果对象不是一个事务ID,则为NULL。 classid oid 包含该对象的系统表的OID,如果对象不是普通的数据库对象,则为NULL。 objid oid 对象在其系统表内的OID,如果对象不是普通数据库对象,则为NULL。 objsubid smallint 对于表的一个字段,这是字段编号;对于其他对象类型,这个字段是0;如果这个对象不是普通数据库对象,则为NULL。 virtualtransaction text 持有此锁或者在等待此锁的事务的虚拟ID。 pid bigint 持有或者等待这个锁的服务器线程的逻辑ID。如果锁是被一个预备事务持有的,则为NULL。 sessionid bigint 持有或者等待这个锁的会话ID。如果锁是被一个预备事务持有的,则为NULL。 mode text 这个线程持有的或者是期望的锁模式。 granted boolean 如果锁是持有锁,则为TRUE。 如果锁是等待锁,则为FALSE。 fastpath boolean 如果通过fast-path获得锁,则为TRUE;如果通过主要的锁表获得,则为FALSE。 locktag text 会话等待锁信息,可通过locktag_decode()函数解析。 global_sessionid text 全局会话ID。 父主题: Lock
  • PG_CAST PG_CAST系统表存储数据类型之间的转换关系。 表1 PG_CAST字段 名称 类型 描述 oid oid 行标识符(隐含字段,必须明确选择)。 castsource oid 源数据类型的OID。 casttarget oid 目标数据类型的OID。 castfunc oid 转换函数的OID。如果为零表明不需要转换函数。 castcontext "char" 源数据类型和目标数据类型间的转换方式: 'e':表示只能进行显式转换(使用CAST或::语法)。 'i':表示能进行隐式转换。 'a':表示类型间同时支持隐式和显式转换。 castmethod "char" 转换方法: 'f':使用castfunc字段中指定的函数进行转换。 'b':类型间是二进制强制转换,不使用castfunc。 父主题: 其他系统表
  • PG_TOTAL_MEMORY_DETAIL PG_TOTAL_MEMORY_DETAIL视图显示某个数据库节点内存使用情况。具体字段信息如表1所示。 表1 PG_TOTAL_MEMORY_DETAIL字段 名称 类型 描述 nodename text 节点名称。 memorytype text 内存的名称。 memorymbytes integer 内存使用的大小,单位为MB。 父主题: 其他系统视图
  • ADM_SCHEDULER_PROG RAM _ARGS ADM_SCHEDULER_PROGRAM_ARG视图显示数据库中所有程序的有关参数信息。默认只有系统管理员权限才可以访问,普通用户需要授权才可以访问。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 ADM_SCHEDULER_PROGRAM_ARGS字段 名称 类型 描述 owner character varying(128) 参数所属程序的拥有者。 program_name character varying(128) 参数所属程序名。 argument_name character varying(128) 参数名称。 argument_position numeric 参数在参数列表中的位置。 argument_type character varying(257) 参数的数据类型,可以是用户的自定义数据类型。 metadata_attribute character varying(19) 暂不支持,值为NULL。 default_value character varying(4000) 参数默认值。 default_anydata_value character varying(4000) 暂不支持,值为NULL。 out_argument character varying(5) 保留字段,值为NULL。 父主题: 其他系统视图
  • GS_ILM_JOBDETAIL GS_ILM_JOBDETAIL系统表提供了记录策略动作类型、判定条件等。 表1 GS_ILM_JOBDETAIL字段 名称 类型 描述 taskoid bigint 所属ADO Task的oid。 jobtype "char" 当前Job类型:压缩(‘c’)。 jobstatus smallint 当前Job状态: 1:JOB CREATED 2:COMPLETED SUC CES SFULLY 3:FAILED 4:STOPPED 5:JOB CREATION FAILED jobname text ADO Job名称表内唯一,关联系统表PG_JOB的job_name。 starttime timestamp with time zone 启动时间。 completetime timestamp with time zone 完成时间。 payload text 当前Job的具体执行内容PL/SQL代码。 statistics text 当前Job的统计信息。 comments text 记录当前Job执行的描述信息,如失败原因等。 父主题: OLTP表压缩
  • GS_RESPLAN_PDB_INFO GS_RESPLAN_PDB_INFO视图显示所有PDB资源使用的实时数据,用来比较各个PDB之间的资源使用情况。每个PDB一行数据。 当发生资源变更的时候,会存在used_shared_memory统计的共享缓存从0开始重新计数。随着业务运行,业务申请新的共享缓存used_shared_memory增加,统计恢复正常,期间对性能无影响。 表1 GS_RESPLAN_PDB_INFO字段 名称 类型 描述 plan_name text 正在生效的资源计划的名称。 pdb_name name 如果是CDB显示"cdb",如果是PDB显示PDB的name。 cpu_consumed_time bigint CPU使用时间,多个核的使用时间累加,单位ms。 iops numeric(12,7) 上一秒的iops。 used_dynamic_memory integer 当前正在使用的动态内存,单位kB。 used_shared_memory integer 当前正在使用的共享缓存,单位kB。 used_connections integer 当前正在使用的连接数。 logical_decoder_used_memory integer 当前逻辑解码任务使用的动态内存,单位kB。 父主题: 多租数据库
  • PG_AUTHID PG_AUTHID系统表存储有关数据库认证标识符(角色)的信息。角色把“用户”的概念包含在内。一个用户实际上就是一个rolcanlogin标志被设置的角色。任何角色(不管rolcanlogin设置与否)都能够把其他角色作为成员。 在一个集群中只有一份pg_authid,不是每个数据库有一份。需要有系统管理员权限才可以访问此系统表。 表1 PG_AUTHID字段 名称 类型 描述 oid oid 行标识符(隐含字段,必须明确选择)。 rolname name 角色名称。 rolsuper boolean 角色是否是拥有最高权限的初始系统管理员。 t(true):表示是。 f(false):表示不是。 rolinherit boolean 角色是否自动继承其所属角色的权限。 t(true):表示自动继承。 f(false):表示不自动继承。 rolcreaterole boolean 角色是否可以创建更多角色。 t(true):表示可以。 f(false):表示不可以。 rolcreatedb boolean 角色是否可以创建数据库。 t(true):表示可以。 f(false):表示不可以。 rolcatupdate boolean 角色是否可以直接更新系统表。只有usesysid=10的初始系统管理员拥有此权限。其他用户无法获得此权限。 t(true):表示可以。 f(false):表示不可以。 rolcanlogin boolean 角色是否可以登录,也就是说,这个角色可以给予会话认证标识符。 t(true):表示可以。 f(false):表示不可以。 rolreplication boolean 角色是否具有复制权限。 t(true):表示有。 f(false):表示没有。 rolauditadmin boolean 角色是否具有审计管理员权限。 t(true):表示有。 f(false):表示没有。 rolsystemadmin boolean 角色是否具有系统管理员权限。 t(true):表示有。 f(false):表示没有。 rolconnlimit integer 对于可以登录的角色,限制其最大并发连接数量。 -1 表示没有限制。 rolpassword text 密码密文,如果没有密码,则为NULL。 rolvalidbegin timestamp with time zone 账户的有效开始时间,如果没有开始时间,则为NULL。 rolvaliduntil timestamp with time zone 账户的有效结束时间,如果没有结束时间,则为NULL。 rolrespool name 用户所能够使用的resource pool。 roluseft boolean 角色是否可以操作外表。 t(true):表示可以。 f(false):表示不可以。 rolparentid oid 用户所在组的用户OID。 roltabspace text 用户数据表的最大空间限额。 rolkind "char" 特殊用户种类。 n:表示普通用户。 p:表示永久用户。 roltempspace text 用户临时表的最大空间限额,单位 KB。 rolspillspace text 用户执行作业时下盘数据的最大空间限额,单位 KB。 rolexcpdata text 用户可以设置的查询规则(当前未使用)。 rolmonitoradmin boolean 角色是否具有监控管理员权限。 t(true):表示有。 f(false):表示没有。 roloperatoradmin boolean 角色是否具有运维管理员权限。 t(true):表示有。 f(false):表示没有。 rolpolicyadmin boolean 角色是否具有安全策略管理员权限。 t(true):表示有。 f(false):表示没有。 父主题: 连接和认证
  • GS_JOB_ARGUMENT GS_JOB_ARGUMENT系统表提供了DBE_SCHEDULER定时任务和程序的参数属性。 表1 GS_JOB_ARGUMENT字段 名称 类型 描述 oid oid 行标识符(隐含字段)。 argument_position integer 定时任务或程序的参数位置。 argument_type name 定时任务或程序的参数类型。 job_name text 定时任务或程序名。 argument_name text 定时任务或程序的参数名(定时任务继承了程序的参数名,所以为空)。 argument_value text 定时任务的参数值(程序本身无法绑定值)。 default_value text 程序的参数默认值。 父主题: 其他系统表
  • GLOBAL_TRANSACTIONS_RUNNING_XA CTS 显示数据库主节点运行事务的信息汇总,如表1所示。多租场景下,non-PDB访问该视图时返回全部信息,PDB访问该视图时仅返回该PDB相关信息。 表1 GLOBAL_TRANSACTIONS_RUNNING_XACTS字段 名称 类型 描述 handle integer 事务对应的事务管理器中的槽位句柄,该值恒为-1。 gxid xid 事务id号。 state tinyint 事务状态(3:prepared或者0:starting)。 node text 节点名称。 xmin xid 节点上当前数据涉及的最小事务号xmin。 vacuum boolean 标志当前事务是否是lazy vacuum事务(lazy vacuum是一种vacuum机制,在需要时进行vacuum)。 true:表示是。 false:表示否。 timeline bigint 标志数据库重启次数。 prepare_xid xid 处于prepared状态的事务的id号,若不在prepared状态,值为0。 pid bigint 事务对应的线程id。 next_xid xid 其余节点发送给当前节点的事务id,该值恒为0。 dbid oid 事务对应的数据库id。 父主题: Transaction
  • V$GLOBAL_OPEN_CURSOR V$GLOBAL_OPEN_CURSOR视图显示当前所有节点中所有打开的游标的相关信息。具体字段信息如表1所示。 表1 V$GLOBAL_OPEN_CURSOR字段 名称 类型 描述 node_name name 节点名称。 saddr raw 暂不支持,值为NULL。 sid numeric 会话id。 user_name character varying(128) 用户名称。 address raw 暂不支持,值为NULL。 hash_value numeric 暂不支持,值为NULL。 sql_id character varying(13) 查询语句的id。 sql_text character varying(60) 游标的SQL文本的前60个字节。 last_sql_active_time date 暂不支持,值为NULL。 sql_exec_id numeric 暂不支持,值为NULL。 cursor_type character varying(64) 游标类型。 OPEN-PL/SQL:打开的PL/SQL游标。 OPEN:其他打开的游标。 child_address raw 暂不支持,值为NULL。 con_id numeric 暂不支持,值为NULL。 dbid oid 游标所属的数据库id。 父主题: 其他系统视图
  • GLOBAL_FILE_IOSTAT 显示数据库内所有节点的数据文件I/O统计信息,如表1所示。多租场景下,non-PDB访问该视图时返回全部信息,PDB访问该视图时仅返回该PDB相关信息。在PDB中通过该视图查询到的I/O统计信息是未持久化的,数据库重启后清零。 表1 GLOBAL_FILE_IOSTAT字段 名称 类型 描述 node_name name 节点名称。 filenum oid 文件标识。 dbid oid 数据库标识。 spcid oid 表空间标识。 phyrds bigint 读物理文件的数目。 phywrts bigint 写物理文件的数目。 phyblkrd bigint 读物理文件块的数目。 phyblkwrt bigint 写物理文件块的数目。 readtim bigint 读文件的总时长(单位:微秒)。 writetim bigint 写文件的总时长(单位:微秒)。 avgiotim bigint 读写文件的平均时长(单位:微秒)。 lstiotim bigint 最后一次读文件时长(单位:微秒)。 miniotim bigint 读写文件的最小时长(单位:微秒)。 maxiowtm bigint 读写文件的最大时长(单位:微秒)。 父主题: File
  • 示例 --创建一个表tb_for_masking。 gaussdb=# CREATE TABLE tb_for_masking(idx int, col1 text, col2 text, col3 text, col4 text, col5 text, col6 text, col7 text,col8 text); --给表tb_for_masking插入数据。 gaussdb=# INSERT INTO tb_for_masking VALUES(1, '9876543210', 'usr321usr', 'abc@huawei.com', 'abc@huawei.com', '1234-4567-7890-0123', 'abcdef 123456 ui 323 jsfd321 j3k2l3', '4880-9898-4545-2525', 'this is a llt case'); --创建资源标签标记敏感列col1。 gaussdb=# CREATE RESOURCE LABEL mask_lb1 ADD COLUMN(tb_for_masking.col1); --创建资源标签标记敏感列col2。 gaussdb=# CREATE RESOURCE LABEL mask_lb2 ADD COLUMN(tb_for_masking.col2); --创建资源标签标记敏感列col3。 gaussdb=# CREATE RESOURCE LABEL mask_lb3 ADD COLUMN(tb_for_masking.col3); --创建一个名为maskpol1的脱敏策略。 gaussdb=# CREATE MASKING POLICY maskpol1 maskall ON LABEL(mask_lb1); --创建一个名为maskpol2的脱敏策略。 gaussdb=# CREATE MASKING POLICY maskpol2 randommasking ON LABEL(mask_lb2); --创建一个名为maskpol3的脱敏策略。 gaussdb=# CREATE MASKING POLICY maskpol3 basicemailmasking ON LABEL(mask_lb3); --删除一个脱敏策略。 gaussdb=# DROP MASKING POLICY IF EXISTS maskpol1; --删除一组脱敏策略。 gaussdb=# DROP MASKING POLICY IF EXISTS maskpol2, maskpol3; --删除资源标签 gaussdb=# DROP RESOURCE LABEL mask_lb1; gaussdb=# DROP RESOURCE LABEL mask_lb2; gaussdb=# DROP RESOURCE LABEL mask_lb3; --删除表 gaussdb=# DROP TABLE tb_for_masking;
  • 语法格式 查询数据: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [ WITH [ RECURSIVE ] with_query [, ...] ] SELECT [/*+ plan_hint */] [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ] { * | {expression [ [ AS ] output_name ]} [, ...] } [ FROM from_item [, ...] ] [ WHERE condition ] [ [ START WITH condition ] CONNECT BY [NOCYCLE] condition [ ORDER SIBLINGS BY expression ] ] [ GROUP BY grouping_element [, ...] ] [ HAVING condition [, ...] ] [ WINDOW {window_name AS ( window_definition )} [, ...] ] [ { UNION | INTERSECT | EXCEPT | MINUS } [ ALL | DISTINCT ] select ] [ ORDER BY {expression [ [ ASC | DESC | USING operator ] | nlssort_expression_clause ] [ NULLS { FIRST | LAST } ]} [, ...] ] [ LIMIT { [offset,] count | ALL } ] [ OFFSET start [ ROW | ROWS ] ] [ FETCH { FIRST | NEXT } [ count ] { ROW | ROWS } ONLY ] [ {FOR { UPDATE | SHARE } [ OF table_name [, ...] ] [ NOWAIT | WAIT n | SKIP LOCKED ]} [...] ]; condition和expression中可以使用targetlist中表达式的别名。 只能同一层引用。 只能引用targetlist中的别名。 只能是后面的表达式引用前面的表达式。 不能包含volatile函数。 不能包含Window function函数。 不支持在JOIN ON条件中引用别名。 targetlist中有多个要应用的别名则报错。 缓存SELECT语句计划的场景下,WHERE IN候选子集不易过大,建议条件个数不要超过100,防止引发动态内存过高问题: WHERE IN候选子集过大时,生成计划的内存占用会增大。 当拼接SQL构造的WHERE IN子集不同,缓存计划的SQL模板无法复用。会生成大量不同的计划且计划无法共享 ,占用大量内存。 其中子查询with_query为: 1 2 with_query_name [ ( column_name [, ...] ) ] AS [ [ NOT ] MATERIALIZED ] ( {select | values | insert | update | delete} ) 其中指定查询源from_item为: 1 2 3 4 5 6 7 8 9 10 11 {[ ONLY ] table_name [ * ] [ slice_clasuse ] [ partition_clause ] [ [ AS ] alias [ ( column_alias [, ...] ) ] ] [ TABLESAMPLE sampling_method ( argument [, ...] ) [ REPEATABLE ( seed ) ] ] [ TIMECAPSULE {TIMESTAMP | CS N} expression ] |( select ) [ AS ] alias [ ( column_alias [, ...] ) ] |with_query_name [ [ AS ] alias [ ( column_alias [, ...] ) ] ] |function_name ( [ argument [, ...] ] ) [ AS ] alias [ ( column_alias [, ...] | column_definition [, ...] ) ] |function_name ( [ argument [, ...] ] ) AS ( column_definition [, ...] ) |xmltable_clause |from_item unpivot_clause |from_item pivot_clause |from_item [ NATURAL ] join_type from_item [ ON join_condition | USING ( join_column [, ...] ) ]} 其中GROUP BY子句为: 1 2 3 4 5 6 ( ) | expression | ( expression [, ...] ) | ROLLUP ( { expression | ( expression [, ...] ) } [, ...] ) | CUBE ( { expression | ( expression [, ...] ) } [, ...] ) | GROUPING SETS ( grouping_element [, ...] ) from_item中指定分区slice_clause为: 1 SLICE BY ( slice_name [, ...] ) 指定SLICE只适合RangeBucket表。 from_item中指定分区partition_clause为: 1 PARTITION { ( partition_name [, ...] ) | FOR ( partition_value [, ...] ) } 指定分区只适合分区表。 PARTITION指定多个分区名时,可以存在相同的分区名,最终分区范围取其并集。 其中设置排序方式nlssort_expression_clause为: 1 NLSSORT ( column_name, ' NLS_SORT = { SCHINESE_PINYIN_M | generic_m_ci } ' ) 第二个参数可选generic_m_ci,仅支持纯英文不区分大小写排序。 简化版查询语法,功能相当于SELECT * FROM table_name。 1 TABLE { ONLY {(table_name)| table_name} | table_name [ * ]};
  • STATEMENT_COMPLEX_RUNTIME STATEMENT_COMPLEX_RUNTIME视图显示当前用户在数据库主节点上正在执行的作业的负载管理记录,如表1所示。 表1 STATEMENT_COMPLEX_RUNTIME的字段 名称 类型 描述 datid oid 连接后端的数据OID。 dbname name 连接后端的数据库名称。 schemaname text 模式的名称。 nodename text 数据库进程名称 username name 连接到后端的用户名。 application_name text 连接到后端的应用名。 client_addr inet 连接到后端的客户端的IP地址。 如果此字段是null,它表明通过服务器机器上UNIX套接字连接客户端或者这是内部线程,如autovacuum。 client_hostname text 客户端的主机名,这个字段是通过client_addr的反向DNS查找得到。这个字段只有在启动log_hostname且使用IP连接时才非空。 client_port integer 客户端用于与后端通讯的TCP端口号,如果使用UNIX套接字,则为-1。 query_band text 用于标示作业类型,可通过GUC参数query_band进行设置,默认为空字符串。 pid bigint 后端线程id。 block_time bigint 语句执行前的阻塞时间,单位ms。 start_time timestamp with time zone 语句执行的开始时间。 duration bigint 语句已经执行的时间,单位ms。 estimate_total_time bigint 语句执行预估总时间,单位ms。 estimate_left_time bigint 语句执行预估剩余时间,单位ms。 resource_pool name 用户使用的资源池。 control_group text 语句所使用的Cgroup。 estimate_memory integer 语句预估使用内存,单位MB。 min_peak_memory integer 语句在数据库节点上的最小内存峰值,单位MB。 max_peak_memory integer 语句在数据库节点上的最大内存峰值,单位MB。 average_peak_memory integer 语句执行过程中的内存使用平均值,单位MB。 memory_skew_percent integer 语句在数据库节点间的内存使用倾斜率。 spill_info text 语句在数据库节点上的下盘信息: None:数据库节点均未下盘。 All:数据库节点均下盘。 [a:b]:数量为b个数据库节点中有a个数据库节点下盘。 min_spill_size integer 若发生下盘,数据库节点上下盘的最小数据量,单位MB,默认为0。 max_spill_size integer 若发生下盘,数据库节点上下盘的最大数据量,单位MB,默认为0。 average_spill_size integer 若发生下盘,数据库节点上下盘的平均数据量,单位MB,默认为0。 spill_skew_percent integer 若发生下盘,数据库节点间下盘倾斜率。 min_dn_time bigint 语句在数据库节点上的最小执行时间,单位ms。 max_dn_time bigint 语句在数据库节点上的最大执行时间,单位ms。 average_dn_time bigint 语句在数据库节点上的平均执行时间,单位ms。 dntime_skew_percent integer 语句在数据库节点的执行时间倾斜率。 min_cpu_time bigint 语句在数据库节点上的最小CPU时间,单位ms。 max_cpu_time bigint 语句在数据库节点上的最大CPU时间,单位ms。 total_cpu_time bigint 语句在数据库节点上的CPU总时间,单位ms。 cpu_skew_percent integer 语句在数据库节点间的CPU时间倾斜率。 min_peak_iops integer 语句在数据库节点上的每秒最小I/O峰值(单位是万次/s)。 max_peak_iops integer 语句在数据库节点上的每秒最大I/O峰值(单位是万次/s)。 average_peak_iops integer 语句在数据库节点上的每秒平均I/O峰值(单位是万次/s)。 iops_skew_percent integer 语句在数据库节点间的I/O倾斜率。 warning text 主要显示如下几类告警信息: Spill file size large than 256MB Broadcast size large than 100MB Early spill Spill times is greater than 3 Spill on memory adaptive Hash table conflict queryid bigint 语句执行使用的内部query id。 query text 正在执行的语句。 query_plan text 语句的执行计划。 node_group text 语句所属用户对应的逻辑数据库。 top_cpu_dn text CPU使用量topN信息。 top_mem_dn text 内存使用量topN信息。 父主题: Query
  • WLM_WORKLOAD_HISTORY_INFO WLM_WORKLOAD_HISTORY_INFO视图显示作业结束后或已被处理异常后的负载管理相关信息,如表1所示。 表1 WLM_WORKLOAD_HISTORY_INFO字段 名称 类型 描述 statement text 执行了异常处理的语句。 block_time bigint 语句执行前的阻塞时间。 elapsed_time bigint 语句的实际执行时间。 total_cpu_time bigint 语句执行异常处理时DN上CPU使用的总时间。 qualification_time bigint 语句检查倾斜率的时间周期。 cpu_skew_percent integer 语句在执行异常处理时DN上CPU使用的倾斜率。 control_group text 语句执行异常处理时所使用的Cgroups。 status text 语句执行异常处理后的状态,包括: pending:执行前预备状态。 running:执行进行状态。 finished:执行正常结束。 abort:执行异常终止。 action text 语句执行的异常处理动作,包括: abort:执行终止操作。 adjust:执行Cgroups调整操作,目前只有降级操作。 finish:正常结束。 父主题: Workload Manager
  • PG_DESCRIPTION PG_DESCRIPTION系统表可以给每个数据库对象存储一个可选的描述(注释)。许多内置的系统对象的描述提供了PG_DESCRIPTION的初始内容。 这个表的功能类似PG_SHDESCRIPTION,用于记录整个数据库范围内共享对象的注释。 表1 PG_DESCRIPTION字段 名称 类型 引用 描述 objoid oid 任意OID属性 这条描述所描述的对象的OID。 classoid oid PG_CLASS.oid 这个对象出现的系统表的OID。 objsubid integer - 对于一个表字段的注释,它是字段号(objoid和classoid指向表自身)。对于其它对象类型,它是零。 description text - 对该对象描述的任意文本。 父主题: 其他系统表
  • GS_TS_DICT_DEFINITION GS_TS_DICT_DEFINITION是自定义词典特性存储词典内容的系统表,用于自定义词典的创建和使用,当前版本仅支持查看系统表。 表1 GS_TS_DICT_DEFINITION字段 名称 类型 描述 dict_oid oid 词典内容归属词典的oid。 definition_type "char" 词典内容类型。 definition text 词典内容定义。 父主题: 其他系统表
共100000条
提示

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