华为云用户手册

  • 几何函数 area(object) 描述:计算图形的面积。 返回类型:double precision 示例: 1 2 3 4 5 gaussdb=# SELECT area(box '((0,0),(1,1))') AS RESULT; result -------- 1 (1 row) center(object) 描述:计算图形的中心。 返回类型:point 示例: 1 2 3 4 5 gaussdb=# SELECT center(box '((0,0),(1,2))') AS RESULT; result --------- (0.5,1) (1 row) diameter(circle) 描述:计算圆的直径。 返回类型:double precision 示例: 1 2 3 4 5 gaussdb=# SELECT diameter(circle '((0,0),2.0)') AS RESULT; result -------- 4 (1 row) height(box) 描述:矩形的竖直高度。 返回类型:double precision 示例: 1 2 3 4 5 gaussdb=# SELECT height(box '((0,0),(1,1))') AS RESULT; result -------- 1 (1 row) isclosed(path) 描述:图形是否为闭合路径。 返回类型:Boolean 示例: 1 2 3 4 5 gaussdb=# SELECT isclosed(path '((0,0),(1,1),(2,0))') AS RESULT; result -------- t (1 row) isopen(path) 描述:图形是否为开放路径。 返回类型:Boolean 示例: 1 2 3 4 5 gaussdb=# SELECT isopen(path '[(0,0),(1,1),(2,0)]') AS RESULT; result -------- t (1 row) length(object) 描述:计算图形的长度。 返回类型:double precision 示例: 1 2 3 4 5 gaussdb=# SELECT length(path '((-1,0),(1,0))') AS RESULT; result -------- 4 (1 row) npoints(path) 描述:计算路径的顶点数。 返回类型:int 示例: 1 2 3 4 5 gaussdb=# SELECT npoints(path '[(0,0),(1,1),(2,0)]') AS RESULT; result -------- 3 (1 row) npoints(polygon) 描述:计算多边形的顶点数。 返回类型:int 示例: 1 2 3 4 5 gaussdb=# SELECT npoints(polygon '((1,1),(0,0))') AS RESULT; result -------- 2 (1 row) pclose(path) 描述:把路径转换为闭合路径。 返回类型:path 示例: 1 2 3 4 5 gaussdb=# SELECT pclose(path '[(0,0),(1,1),(2,0)]') AS RESULT; result --------------------- ((0,0),(1,1),(2,0)) (1 row) popen(path) 描述:把路径转换为开放路径。 返回类型:path 示例: 1 2 3 4 5 gaussdb=# SELECT popen(path '((0,0),(1,1),(2,0))') AS RESULT; result --------------------- [(0,0),(1,1),(2,0)] (1 row) radius(circle) 描述:计算圆的半径。 返回类型:double precision 示例: 1 2 3 4 5 gaussdb=# SELECT radius(circle '((0,0),2.0)') AS RESULT; result -------- 2 (1 row) width(box) 描述:计算矩形的水平尺寸。 返回类型:double precision 示例: 1 2 3 4 5 gaussdb=# SELECT width(box '((0,0),(1,1))') AS RESULT; result -------- 1 (1 row)
  • MY_PROCEDURES MY_PROCEDURES视图描述了关于当前用户拥有的存储过程、函数或触发器的信息。该视图同时存在于PG_CATALOG和SYS Schema下。该视图所有用户可访问,仅可查看当前用户所属信息。 表1 MY_PROCEDURES字段 名称 类型 描述 owner character varying(64) 存储过程、函数或触发器或包的所有者。 object_name character varying(64) 存储过程、函数或触发器的名称,若为包内函数或存储过程,则为包名。 procedure_name character varying(128) 若object_name为包名,则显示包内函数或存储过程。 object_id oid 存储过程、函数或触发器或包的oid。 subprogram_id numeric 包内函数或存储过程的位置。 overload character varying(40) 第n个重载函数。 object_type character varying(13) 对象的类型。 aggregate character varying(3) 表示是否为聚合函数: YES:表示是。 NO:表示不是。 pipelined character varying(3) 暂不支持,值为NO。 impltypeowner character varying(128) 实现类型的所有者。 impltypename character varying(128) 实现类型的名称。 parallel character varying(3) 暂不支持,值为NO。 interface character varying(3) 暂不支持,值为NO。 deterministic character varying(3) 暂不支持,值为NO。 authid character varying(12) 表示是使用创建者权限还是调用者权限: DEFINER:表示使用创建者权限。 CURRENT_USER:表示使用调用者权限。 因该字段与保留关键字冲突,调用该字段需加视图名。 result_cache character varying(3) 暂不支持,值为NULL。 origin_con_id character varying(256) 暂不支持,值为0。 polymorphic character varying(5) 暂不支持,值为NULL。 argument_number smallint 存储过程入参个数。 父主题: 系统视图
  • DB_TAB_STATS_HISTORY DB_TAB_STATS_HISTORY视图显示表统计信息涉及的表、分区或者子分区以及执行收集表统计信息的时间。所有用户都可以访问该视图。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 DB_TAB_STATS_HISTORY字段 名称 类型 描述 owner character varying(128) 对象的拥有者。 table_name character varying(128) 表名。 partition_name character varying(128) 暂不支持,值为NULL。 subpartition_name character varying(128) 暂不支持,值为NULL。 stats_update_time timestamp(6) with time zone 统计信息更新的时间,数据库重启后,数据会丢失。 父主题: 系统视图
  • DBE_SQL_UTIL.disable_sql_patch disable_sql_patch是用于禁用SQL PATCH的接口函数,返回执行是否成功。 限制仅初始用户、sysadmin、opradmin、monadmin用户有权限调用。 表1 DBE_SQL_UTIL.disable_sql_patch入参和返回值列表 参数 类型 描述 patch_name IN name PATCH名称。 result OUT bool 执行是否成功。 父主题: DBE_SQL_UTIL Schema
  • ADM_TRIGGERS ADM_TRIGGERS视图显示数据库中的触发器信息。默认只有系统管理员权限才可以访问此系统视图,普通用户需要授权才可以访问。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 ADM_TRIGGERS字段 名称 类型 描述 owner character varying(128) 触发器的所有者。 trigger_name character varying(64) 触发器名称。 trigger_type character varying 触发器触发的时机:before statement,before each row,after statement,after each row,instead of。 triggering_event character varying 触发触发器的事件:update,insert,delete,truncate。 table_owner character varying(64) 定义触发器的表的所有者。 base_object_type character varying(18) 定义触发器的基础对象:table,view。 table_name character varying(64) 定义触发器的表或视图名称。 column_name character varying(4000) 暂不支持,值为NULL。 referencing_name character varying(422) 暂不支持,值为referencing new as new old as old。 when_clause character varying(4000) when子句的内容,必须求值为true才能执行trigger_body。 status character varying(64) O:触发器在“origin”和“local”模式下触发。 D:触发器被禁用。 R:触发器在“replica”模式下触发。 A:触发器始终触发。 description character varying(4000) 触发器描述;用于重新创建触发器创建语句。 action_type character varying(11) 触发体的动作类型,仅支持call。 trigger_body text 触发器触发时执行的语句。 crossedition character varying(7) 暂不支持,值为NULL。 before_statement character varying(3) 暂不支持,值为NULL。 before_row character varying(3) 暂不支持,值为NULL。 after_row character varying(3) 暂不支持,值为NULL。 after_statement character varying(3) 暂不支持,值为NULL。 instead_of_row character varying(3) 暂不支持,值为NULL。 fire_once character varying(3) 暂不支持,值为NULL。 apply_server_only character varying(3) 暂不支持,值为NULL。 父主题: 系统视图
  • MY_TYPE_ATTRS MY_TYPE_ATTRS视图显示数据库中当前用户所拥有的所有类型的属性。所有用户均可访问该视图,该视图同时存在于PG_CATALOG和SYS Schema下。 表1 MY_TYPE_ATTRS字段 名称 类型 描述 type_name character varying(128) 数据类型名称。 attr_name character varying(128) 属性名称。 attr_type_mod character varying(7) 属性的类型修饰符: REF POINT attr_type_owner character varying(128) 属性类型的所有者。 attr_type_name character varying(128) 属性类型的名称。 length numeric CHAR属性的长度,或VARCHAR和character varying属性的最大长度。 precision numeric 数字或DECIMAL属性的十进制精度,或FLOAT属性的二进制精度。 scale numeric numeric或DECIMAL属性的小数位。 character_set_name character varying(44) 属性的字符集名称(Char_CS或NCHAR_CS)。 attr_no numeric 类型规范或CREATE TYPE语句中指定的属性的语法顺序编号或位置(不用作ID编号)。 inherited character varying(3) 表示属性是否继承自超类型。 YES:表示继承自超类型。 NO:表示没有继承自超类型。 父主题: 系统视图
  • 参数说明 EXPLAIN中的PLAN选项表示需要将计划信息存储于PLAN_TABLE中,存储成功将返回“EXPLAIN SUCCESS”。 STATEMENT_ID用户可以对查询设置标签,输入的标签信息也将存储于PLAN_TABLE中。 用户在执行EXPLAIN PLAN时,如果没有进行SET STATEMENT_ID,则默认为空值。同时,用户可输入的STATEMENT_ID最大长度为30个字节,超过长度将会产生报错。
  • DBE_PLDEBUGGER.attach server端执行存储过程,停在第一条语句前,等待debug端关联。debug端调用attach,传入nodename和port,关联到该存储过程上。 如果调试过程中报错,attach会自动失效;如果调试过程中attach到其他存储过程上,当前attach的调试也会失效。 表1 attach 入参和返回值列表 名称 类型 描述 nodename IN text 节点名称 port IN integer 连接端口号 funcoid OUT oid 函数id funcname OUT text 函数名 lineno OUT integer 当前调试运行的下一行行号 query OUT text 当前调试的下一行函数源码 父主题: DBE_PLDEBUGGER Schema
  • DBE_SQL_UTIL.create_abort_sql_patch create_abort_sql_patch是用于在当前建立连接的CN上创建避险SQL PATCH的接口函数,返回执行是否成功。 限制仅初始用户、sysadmin、opradmin、monadmin用户有权限调用。 CN之间SQL PATCH不共享,要在各个CN上单独创建。 开启负载均衡场景或者需要指定创建的CN的场景,推荐使用DBE_SQL_UTIL.create_remote_abort_sql_patch接口进行创建。 表1 DBE_SQL_UTIL.create_abort_sql_patch入参和返回值列表 参数 类型 描述 patch_name IN name PATCH名称。 unique_sql_id IN bigint 查询全局唯一ID。 description IN text PATCH的备注,默认值为NULL。 enabled IN bool PATCH是否生效,默认值为true。 result OUT bool 执行是否成功。 父主题: DBE_SQL_UTIL Schema
  • SUMMARY_STATIO_USER_INDEXES SUMMARY_STATIO_USER_INDEXES视图显示数据库内汇聚的命名空间中所有用户关系表索引的I/O状态信息。 表1 SUMMARY_STATIO_USER_INDEXES字段 名称 类型 描述 schemaname name 该索引的模式名。 relname name 该索引的表名。 indexrelname name 索引名称。 idx_blks_read numeric 从索引中读取的磁盘块数。 idx_blks_hit numeric 索引命中缓存数。 父主题: Cache/IO
  • 语法格式 开启匿名块。 1 2 3 4 5 [DECLARE [declare_statements]] BEGIN execution_statements END; / 开启事务。 1 2 3 4 5 6 7 BEGIN [ WORK | TRANSACTION ] [ { ISOLATION LEVEL { READ COMMITTED | SERIALIZABLE | REPEATABLE READ } | { READ WRITE | READ ONLY } } [, ...] ];
  • PG_SHADOW PG_SHADOW视图显示了所有在PG_AUTHID中标记了rolcanlogin的角色的属性,只有系统管理员权限才可以访问此系统视图。 该视图的信息与PG_USER是基本一致的,区别在于后者对口令做了敏感化处理,统一显示为********。 表1 PG_SHADOW字段 名称 类型 引用 描述 usename name PG_AUTHID.rolname 用户名。 usesysid oid PG_AUTHID.oid 用户的ID。 usecreatedb boolean - 用户是否可以创建数据库。 t(true):表示是。 f(false):表示否。 usesuper boolean - 用户是否是系统管理员。 t(true):表示是。 f(false):表示否。 usecatupd boolean - 用户是否可以更新视图。即使是系统管理员,如果该字段的值为假,也不能更新视图。 t(true):表示是。 f(false):表示否。 userepl boolean - 用户是否可以复制数据流。 t(true):表示是。 f(false):表示否。 passwd text PG_AUTHID.rolpassword 口令密文,如果没有口令,则为NULL。 valbegin timestamp with time zone - 账户的有效开始时间。如果没有设置有效开始时间,则为NULL。 valuntil timestamp with time zone - 账户的有效结束时间。如果没有设置有效结束时间,则为NULL。 respool name - 用户所在的资源池。 parent oid - 父用户OID。 spacelimit text - 永久表的存储空间限额,单位KB。 useconfig text[] PG_DB_ROLE_SETTING.setconfig 运行时配置项的默认值。 tempspacelimit text - 临时表的存储空间限额,单位KB。 spillspacelimit text - 算子的落盘空间限额,单位KB。 usemonitoradmin boolean - 用户是否是监控管理员。 t(true):表示是。 f(false):表示否。 useoperatoradmin boolean - 用户是否是运维管理员。 t(true):表示是。 f(false):表示否。 usepolicyadmin boolean - 用户是否是安全策略管理员。 t(true):表示是。 f(false):表示否。 父主题: 系统视图
  • 双集群容灾查询函数 gs_get_local_barrier_status() 描述:两地三中心跨Region容灾特性开启后,主集群和灾备集群进行日志同步,通过barrier日志在主集群的落盘,在灾备集群的回放来确定主集群归档日志进度与灾备集群日志回放进度。gs_get_local_barrier_status用于查询灾备集群每个节点当前的日志回放情况。 返回值类型:text barrier_id:灾备集群某节点当前回放到的最新barrier ID。 barrier_lsn:灾备集群某节点当前回放到的最新barrier ID的Log Sequence Number ( LSN )。 archive_lsn:灾备集群某节点当前已获得归档日志的位置,该参数当前未生效。 flush_lsn:灾备集群某节点当前已完成刷盘日志位置。 gs_hadr_in_recovery() 描述:两地三中心跨Region容灾特性开启后,查询当前节点是否处于基于目标barrier的日志恢复中,还在恢复中返回true。只有完成日志恢复,才会启动switchover流程中的灾备集群升为生产集群的步骤,需要系统管理员角色执行。 返回值类型:Boolean 该函数只有在容灾集群启动计划内switchover时使用。 gs_streaming_dr_get_switchover_barrier() 描述:两地三中心跨Region容灾-基于流式复制的解决方案中,查询灾备集群参与容灾的CN与首备DN实例是否已接收到switchover barrier日志并完成回放,已完成返回true。灾备集群只有在所有DN实例都完成switchover barrier日志回放,才会启动switchover流程中的灾备数据库实例升为生产数据库实例的步骤(需要系统管理员角色)。 返回值类型:Boolean 备注:该函数只有在流式容灾解决方案中容灾数据库实例启动计划内switchover时使用。 gs_streaming_dr_service_truncation_check() 描述:两地三中心跨Region容灾-基于流式复制的解决方案中,查询主集群参与容灾的CN与主DN实例是否已完成switchover barrier日志发送,已完成返回true。只有完成日志发送,才会启动switchover流程中的生产数据库实例降为灾备数据库实例的步骤(需要系统管理员角色)。 返回值类型:Boolean 备注:该函数只有在容灾数据库实例启动计划内switchover时使用。 gs_hadr_local_rto_and_rpo_stat() 描述:显示流式容灾的本地节点数据库实例和灾备数据库实例日志流控信息(如果在没有参加流式容灾的节点执行,如备DN或部分CN节点,则可能返回空)。 返回值类型:record,具体各个字段的类型和含义如表1所示。 表1 gs_hadr_local_rto_and_rpo_stat参数说明 参数 类型 描述 hadr_sender_node_name text 节点的名称,包含主数据库实例和备数据库实例首备。 hadr_receiver_node_name text 备数据库实例首备名称。 source_ip text 主数据库实例主DN IP地址。 source_port int 主数据库实例主DN通信端口。 dest_ip text 备数据库实例首备DN IP地址。 dest_port int 备数据库实例首备DN通信端口。 current_rto int 流控的信息,当前主备数据库实例的日志rto时间(单位:秒)。 target_rto int 流控的信息,目标主备数据库实例间的rto时间(单位:秒)。 current_rpo int 流控的信息,当前主备数据库实例的日志rpo时间(单位:秒)。 target_rpo int 流控的信息,目标主备数据库实例间的rpo时间(单位:秒)。 rto_sleep_time int RTO流控信息,为了达到目标rto,预期主机walsender所需要的睡眠时间(单位:微秒)。 rpo_sleep_time int RPO流控信息,为了达到目标rpo,预期主机xlogInsert所需要的睡眠时间(单位:微秒)。 gs_hadr_remote_rto_and_rpo_stat() 描述:显示流式容灾的其他所有分片或CN数据库实例和灾备数据库实例日志流控信息(一般在CN节点执行;如果在DN节点执行,可能返回为空)。 返回值类型:record,具体各个字段的类型和含义如表2所示。 表2 gs_hadr_remote_rto_and_rpo_stat 参数 类型 描述 hadr_sender_node_name text 节点的名称,包含主数据库实例和备数据库实例首备。 hadr_receiver_node_name text 备数据库实例首备名称。 source_ip text 主数据库实例主DN IP地址。 source_port int 主数据库实例主DN通信端口。 dest_ip text 备数据库实例首备DN IP地址。 dest_port int 备数据库实例首备DN通信端口。 current_rto int 流控的信息,当前主备数据库实例的日志rto时间(单位:秒)。 target_rto int 流控的信息,目标主备数据库实例间的rto时间(单位:秒)。 current_rpo int 流控的信息,当前主备数据库实例的日志rpo时间(单位:秒)。 target_rpo int 流控的信息,目标主备数据库实例间的rpo时间(单位:秒)。 rto_sleep_time int RTO流控信息,为了达到目标rto,预期主机walsender所需要的睡眠时间(单位:微秒)。 rpo_sleep_time int RPO流控信息,为了达到目标rpo,预期主机xlogInsert所需要的睡眠时间(单位:微秒)。 父主题: 系统管理函数
  • max_size_for_xlog_retention 参数说明:用于控制何时触发备份复制槽的强制推进,以避免由于备份操作过程中日志无法回收导致磁盘满、实例只读等影响。该参数实际设置值建议比cm_server组件的datastorage_threshold_value_check略小一点,以避免实例进入只读状态。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:-100 ~ 2147483647 0表示关闭该功能。 负值表示按磁盘阈值触发,如-80,表示当磁盘阈值超过80%,且日志回收是由于备份操作被阻塞,那么会触发备份复制槽的强制推进。 正值表示按日志积压大小触发,如32,表示当备份复制槽落后当前检查点redo位置超过32段日志大小(每段日志大小为16MB),且日志回收是由于备份操作被阻塞,那么会触发备份复制槽的强制推进。 默认值:0
  • max_cbm_retention_time 参数说明:用于控制何时触发备份CBM文件的强制回收,以避免由于备份操作过程中CBM文件无法回收导致磁盘满、实例只读等影响。该参数实际设置值建议按照全备的时间间隔设置。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:86400 ~ 2147483647 时间单位为秒。 最小值为1天。 默认值为2周。 默认值:1209600
  • PG_RANGE PG_RANGE系统表存储关于范围类型的信息,除了PG_TYPE里类型的记录。 表1 PG_RANGE字段 名称 类型 引用 描述 rngtypid oid PG_TYPE.oid 范围类型的OID。 rngsubtype oid PG_TYPE.oid 这个范围类型的元素类型(子类型)的OID。 rngcollation oid PG_COLLATION.oid 用于范围比较的排序规则的OID,如果没有则为零。 rngsubopc oid PG_OPCLASS.oid 用于范围比较的子类型的操作符类的OID。 rngcanonical regproc PG_PROC.proname 转换范围类型为规范格式的函数名,如果没有则为0。 rngsubdiff regproc PG_PROC.proname 表示用于计算范围两元素差值的函数的名字,该函数的返回值为双精度类型,如果不存在该函数则rngsubdiff字段值为0。 若元素类型是离散的,则rngcanonical决定用于范围类型的排序顺序;若元素类型是不可排序的,则rngsubopc决定用于范围类型的排序顺序;若元素类型是可排序的,则rngsubopc和rngcollation决定用于范围类型的排序顺序。 父主题: 系统表
  • ai_watchdog_parameters 表1 ai_watchdog_parameters参数 参数 类型 描述 name text 参数名称,包括如下常用参数: enable_ai_watchdog:是否开启本功能。 ai_watchdog_max_consuming_time_ms:最大耗时。 ai_watchdog_used_memory_kb:本功能当前内存使用。 ai_watchdog_detection_times:已检测次数。 enable_self_healing:发现问题后是否可以自愈。 oom_detected_times:已检测到的OOM次数。 hang_detected_times:已检测到的hang次数。 enable_oom_detection:是否自动启动了OOM探测功能。 in_wait_time:是否处于等待时间。 other_used_memory_has_risk:其他内存使用部分是否存在风险。 shared_used_mem_has_risk:共享内存上下文使用是否存在风险。 dynamic_used_shrctx_has_risk:动态内存使用是存在风险。 value text 参数值。 父主题: AI Watchdog
  • 示例 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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 --创建dev_mask和bob_mask用户。 gaussdb=# CREATE USER dev_mask PASSWORD '********'; gaussdb=# CREATE USER bob_mask PASSWORD '********'; --创建一个表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); 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'); gaussdb=# INSERT INTO tb_for_masking VALUES(2, '0123456789', 'lltc123llt', 'abc@gmail.com', 'abc@gmail.com', '9876-5432-1012-3456', '1234 abcd ef 56 gh78ijk90lm', '4856-7654-1234-9865','this,is.a!LLT?case'); --创建资源标签标记敏感列。 gaussdb=# CREATE RESOURCE LABEL mask_lb1 ADD COLUMN(tb_for_masking.col1); gaussdb=# CREATE RESOURCE LABEL mask_lb2 ADD COLUMN(tb_for_masking.col2); gaussdb=# CREATE RESOURCE LABEL mask_lb3 ADD COLUMN(tb_for_masking.col3); gaussdb=# CREATE RESOURCE LABEL mask_lb4 ADD COLUMN(tb_for_masking.col4); gaussdb=# CREATE RESOURCE LABEL mask_lb5 ADD COLUMN(tb_for_masking.col5); gaussdb=# CREATE RESOURCE LABEL mask_lb6 ADD COLUMN(tb_for_masking.col6); gaussdb=# CREATE RESOURCE LABEL mask_lb7 ADD COLUMN(tb_for_masking.col7); gaussdb=# CREATE RESOURCE LABEL mask_lb8 ADD COLUMN(tb_for_masking.col8); --创建脱敏策略。 gaussdb=# CREATE MASKING POLICY maskpol1 maskall ON LABEL(mask_lb1); gaussdb=# CREATE MASKING POLICY maskpol2 alldigitsmasking ON LABEL(mask_lb2); gaussdb=# CREATE MASKING POLICY maskpol3 basicemailmasking ON LABEL(mask_lb3); gaussdb=# CREATE MASKING POLICY maskpol4 fullemailmasking ON LABEL(mask_lb4); gaussdb=# CREATE MASKING POLICY maskpol5 creditcardmasking ON LABEL(mask_lb5); gaussdb=# CREATE MASKING POLICY maskpol6 shufflemasking ON LABEL(mask_lb6); gaussdb=# CREATE MASKING POLICY maskpol7 regexpmasking('[\d+]','*',2, 9) ON LABEL(mask_lb7); --创建仅对用户dev_mask和bob_mask,客户端工具为gsql,IP地址为'10.20.30.40', '127.0.0.0/24'场景下生效的脱敏策略。 gaussdb=# CREATE MASKING POLICY maskpol8 randommasking ON LABEL(mask_lb8) FILTER ON ROLES(dev_mask, bob_mask), APP(gsql), IP('10.20.30.40', '127.0.0.0/24'); --查看脱敏策略生效 gaussdb=# SELECT * FROM tb_for_masking; idx | col1 | col2 | col3 | col4 | col5 | col6 | col7 | col8 -----+------------+------------+----------------+----------------+---------------------+-------------------------------------+---------------------+-------------------- 1 | xxxxxxxxxx | usr000usr | xxx@huawei.com | xxx@xxxxxx.com | xxxx-xxxx-xxxx-0123 | s 2iju1bcjk243df333d61l 22 53ef3a | 48**-****-*545-2525 | this is a llt case 2 | xxxxxxxxxx | lltc000llt | xxx@gmail.com | xxx@xxxxx.com | xxxx-xxxx-xxxx-3456 | j 71fem0l286dbia543 g k9 ch | 48**-****-*234-9865 | this,is.a!LLT?case (2 rows) --使用gsql工具,IP地址为'10.20.30.40',用户dev_mask查看tb_for_masking。 gaussdb=# GRANT ALL PRIVILEGES TO dev_mask; gaussdb=# GRANT ALL PRIVILEGES TO bob_mask; gaussdb=# SET role dev_mask PASSWORD 'xxxxxxxxxx'; --使用maskpol8脱敏,结果随机,每次不同。 gaussdb=# SELECT col8 FROM tb_for_masking; col8 -------------------- 9f1425b3835cc30d99 9585b4ea8ea8ddcc5b (2 rows) gaussdb=# SET role bob_mask PASSWORD 'xxxxxxxxxx'; gaussdb=# SELECT col8 FROM tb_for_masking; col8 -------------------- f29ef3a0769a1f417c 806aa46409482d838f (2 rows) --删除脱敏策略。 gaussdb=# DROP MASKING POLICY maskpol1, maskpol2, maskpol3, maskpol4, maskpol5, maskpol6, maskpol7, maskpol8; --删除资源标签。 gaussdb=# DROP RESOURCE LABEL mask_lb1, mask_lb2, mask_lb3, mask_lb4, mask_lb5, mask_lb6, mask_lb7, mask_lb8; --删除表tb_for_masking。 gaussdb=# DROP TABLE tb_for_masking; --删除用户dev_mask和bob_mask。 gaussdb=# DROP USER dev_mask, bob_mask;
  • 语法格式 1 CREATE MASKING POLICY policy_name masking_clause[, ...] [ policy_filter_clause ] [ENABLE | DISABLE]; masking_clause: 1 masking_function ON LABEL(label_name[, ...]) masking_function: maskall不是预置函数,硬编码在代码中,不支持\df展示。 预置时脱敏方式如下: { maskall | randommasking | creditcardmasking | basicemailmasking | fullemailmasking | shufflemasking | alldigitsmasking | regexpmasking }
  • 参数说明 policy_name 审计策略名称,需要唯一,不可重复。 取值范围:字符串,要符合标识符命名规范。 label_name 资源标签名称。 masking_clause 指出使用何种脱敏函数对被label_name标签标记的数据库资源进行脱敏,支持用schema.function的方式指定脱敏函数。 policy_filter 指出该脱敏策略对何种身份的用户生效,若为空表示对所有用户生效。 FILTER_TYPE 描述策略过滤的条件类型,包括IP | APP | ROLES。 filter_value 指具体过滤信息内容,例如具体的IP,具体的APP名称,具体的用户名。 ENABLE|DISABLE 可以打开或关闭脱敏策略。若不指定ENABLE|DISABLE,语句默认为ENABLE。
  • 扩展函数 下表列举了GaussDB中支持的扩展函数,不作为商用特性交付,仅供参考。 分类 函数名称 描述 触发器函数 pg_get_triggerdef(trigger_oid) 为触发器获取CREATE [ CONSTRAINT ] TRIGGER命令 pg_get_triggerdef(trigger_oid, pretty_bool) 为触发器获取CREATE [ CONSTRAINT ] TRIGGER命令 父主题: 附录
  • GS_MASKING GS_MASKING视图显示所有已配置的动态脱敏策略信息。需要有系统管理员或安全策略管理员权限才可以访问此视图。 表1 GS_MASKING字段 名称 类型 描述 polname name 脱敏策略名称。 polenabled boolean 脱敏策略开关。 maskaction name 脱敏函数。 labelname name 脱敏函数作用的标签名称。 masking_object text 脱敏数据库资源对象。 filter_name text 过滤条件的逻辑表达式。 父主题: 系统视图
  • DB_SEQUENCES DB_SEQUENCES视图显示当前用户能够访问的所有序列的信息。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 DB_SEQUENCES字段 名称 类型 描述 sequence_owner name 序列所有者。 sequence_name name 序列的名称。 min_value int16 序列最小值。 max_value int16 序列最大值。 increment_by int16 序列的增量。 cycle_flag character(1) 序列是否是循环序列。取值范围: Y:循环序列。 N:不是循环序列。 order_flag character varying(1) 标志序列是否按照请求顺序发生,暂不支持,值为NULL。 last_number int16 上一序列的值。 cache_size int16 序列磁盘缓存大小。 scale_flag character varying(1) 标志是否为可扩展序列,暂不支持,值为NULL。 extend_flag character varying(1) 标志可扩展序列生成的值是否超出序列最大值、最小值范围。暂不支持,值为NULL。 sharded_flag character varying(1) 标志是否是分片序列,暂不支持,值为NULL。 session_flag character varying(1) 标志序列是否是会话私有,暂不支持,值为NULL。 keep_value character varying(1) 标志在失败后的replay期间是否保留序列值,暂不支持,值为NULL。 父主题: 系统视图
  • GS_WORKLOAD_RULE GS_WORKLOAD_RULE系统表存储与SQL限流规则相关的信息。该系统表没有权限限制,所有用户可查询。 表1 GS_WORKLOAD_RULE字段 名称 类型 描述 rule_id bigint 限流规则标识列,系统自动生成。 rule_name name 限流规则的名称,用于检索限流规则,不保证唯一性,可以为NULL。 databases name[] 限流规则作用的数据库列表,为NULL表示所有库生效。 max_workload bigint 限制规则设置的最大并发数。 is_valid boolean 限流规则是否生效,超时的限流规则会设为false。 start_time timestamp with time zone 限流规则开始的时间,为NULL表示从现在开始生效。 end_time timestamp with time zone 限流规则结束的时间,为NULL表示一直生效。 rule_type text 限流规则类型,当前仅支持:“sqlid”、“select”、“insert”、“update”、“delete”、“merge”、“resource”,其他的为非法值。 option_val text[] 限流规则的参数值,包括:sqlid,关键字列表,资源限制情况。 详细请参见gs_add_workload_rule接口说明。 node_names text[] 预留字段,限流规则生效的节点名称列表,当前不生效。 user_names text[] 预留字段,限流规则生效的用户名称列表,当前不生效。 父主题: 系统表
  • TRACK_MEMORY_CONTEXT_DETAIL 查询DBE_PERF.track_memory_context设置的内存上下文上的内存申请详细信息。只有初始用户或者具有monadmin权限的用户可以执行该视图。 表1 TRACK_MEMORY_CONTEXT_DETAIL字段 名称 类型 描述 context_name text 内存上下文的名称。 file text 内存申请位置所属的文件。 line integer 内存申请位置的行号。 size bigint 内存申请的总大小(单位:字节)。 父主题: Memory
  • V_INSTANCE V_INSTANCE视图显示当前数据库的实例信息。默认只有系统管理员权限才可以访问此系统视图,普通用户需要授权才可以访问。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 V_INSTANCE字段 名称 类型 描述 instance_number oid 当前数据库oid。 instance_name character varying(16) 当前数据库名。 host_name character varying(64) 主机名。 version character varying(17) 暂不支持,值为NULL。 version_legacy character varying(17) 暂不支持,值为NULL。 version_full character varying(17) 暂不支持,值为NULL。 startup_time date 暂不支持,值为NULL。 status character varying(12) 暂不支持,值为NULL。 parallel character varying(3) 暂不支持,值为NULL。 thread# numeric 暂不支持,值为NULL。 archiver character varying(7) 暂不支持,值为NULL。 log_switch_wait character varying(15) 暂不支持,值为NULL。 logins character varying(10) 暂不支持,值为NULL。 shutdown_pending character varying(3) 暂不支持,值为NULL。 database_status character varying(17) 暂不支持,值为NULL。 instance_role character varying(18) 暂不支持,值为NULL。 active_state character varying(9) 暂不支持,值为NULL。 blocked character varying(3) 暂不支持,值为NULL。 con_id numeric 暂不支持,值为NULL。 instance_mode character varying(11) 暂不支持,值为NULL。 edition character varying(7) 暂不支持,值为NULL。 family character varying(80) 暂不支持,值为NULL。 database_type character varying(15) 暂不支持,值为NULL。 父主题: 系统视图
  • GS_SQL_COUNT GS_SQL_COUNT视图显示数据库当前节点当前时刻执行的五类语句(SELECT、INSERT、UPDATE、DELETE、MERGE INTO)统计信息。 普通用户查询GS_SQL_COUNT视图仅能看到该用户当前节点的统计信息;管理员权限用户查询GS_SQL_COUNT视图则能看到所有用户当前节点的统计信息。 当数据库或该节点重启时,计数将清零,并重新开始计数 。 计数以节点收到的查询数为准,包括数据库内部进行的查询。 表1 GS_SQL_COUNT字段 名称 类型 描述 node_name name 节点名称。 user_name name 用户名。 select_count bigint SELECT语句统计结果。 update_count bigint UPDATE语句统计结果。 insert_count bigint INSERT语句统计结果。 delete_count bigint DELETE语句统计结果。 mergeinto_count bigint MERGE INTO语句统计结果。 ddl_count bigint DDL语句的数量。 dml_count bigint DML语句的数量。 dcl_count bigint DML语句的数量。 total_select_elapse bigint 总SELECT的时间花费(单位:微秒)。 avg_select_elapse bigint 平均SELECT的时间花费(单位:微秒)。 max_select_elapse bigint 最大SELECT的时间花费(单位:微秒)。 min_select_elapse bigint 最小SELECT的时间花费(单位:微秒)。 total_update_elapse bigint 总UPDATE的时间花费(单位:微秒)。 avg_update_elapse bigint 平均UPDATE的时间花费(单位:微秒)。 max_update_elapse bigint 最大UPDATE的时间花费(单位:微秒)。 min_update_elapse bigint 最小UPDATE的时间花费(单位:微秒)。 total_insert_elapse bigint 总INSERT的时间花费(单位:微秒)。 avg_insert_elapse bigint 平均INSERT的时间花费(单位:微秒)。 max_insert_elapse bigint 最大INSERT的时间花费(单位:微秒)。 min_insert_elapse bigint 最小INSERT的时间花费(单位:微秒)。 total_delete_elapse bigint 总DELETE的时间花费(单位:微秒)。 avg_delete_elapse bigint 平均DELETE的时间花费(单位:微秒)。 max_delete_elapse bigint 最大DELETE的时间花费(单位:微秒)。 min_delete_elapse bigint 最小DELETE的时间花费(单位:微秒)。 父主题: 系统视图
  • WLM_USER_RESOURCE_CONFIG WLM_USER_RESOURCE_CONFIG视图显示用户的资源配置信息。 表1 WLM_USER_RESOURCE_CONFIG字段 名称 类型 描述 userid oid 用户oid。 username name 用户名称。 sysadmin boolean 是否是sysadmin。 rpoid oid 资源池的oid。 respool name 资源池的名称。 parentid oid 父用户的oid。 totalspace bigint 占用总空间大小。 spacelimit bigint 空间大上限。 childcount integer 子用户数量。 childlist text 子用户的列表。 父主题: Workload Manager
  • ADM_PROCEDURES ADM_PROCEDURES视图显示数据库中所有存储过程、函数和触发器的信息。默认只有系统管理员权限才可以访问此系统视图,普通用户需要授权才可以访问。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 ADM_PROCEDURES字段 名称 类型 描述 owner character varying(64) 存储过程、或函数、或触发器的所有者。 object_name character varying(64) 存储过程、或函数、或触发器的名称。 procedure_name character varying(128) 暂不支持,值为NULL。 object_id oid 存储过程、或函数、或触发器的oid。 subprogram_id numeric 暂不支持,值为NULL。 overload character varying(40) 表示该函数是该名称的第n个重载函数。 object_type character varying(13) 对象的类型名。 aggregate character varying(3) 表示是否为聚合函数: YES:表示是。 NO:表示不是。 pipelined character varying(3) 暂不支持,值为NO。 impltypeowner character varying(128) 实现类型的所有者。 impltypename character varying(128) 实现类型的名称。 parallel character varying(3) 暂不支持,值为NO。 interface character varying(3) 暂不支持,值为NO。 deterministic character varying(3) 暂不支持,值为NO。 authid character varying(12) 表示是使用创建者权限还是调用者权限: DEFINER:表示使用创建者权限。 CURRENT_USER:表示使用调用者权限。 因该字段与保留关键字冲突,调用该字段需加视图名。 result_cache character varying(3) 暂不支持,值为NULL。 origin_con_id character varying(256) 暂不支持,值为0。 polymorphic character varying(5) 暂不支持,值为NULL。 argument_number smallint 存储过程入参个数。 父主题: 系统视图
  • 示例 下面命令定义一个新操作符:面积相等,用于box数据类型。 gaussdb=# CREATE OPERATOR === ( LEFTARG = box, RIGHTARG = box, PROCEDURE = area_equal_procedure, COMMUTATOR = ===, NEGATOR = !==, RESTRICT = area_restriction_procedure, JOIN = area_join_procedure, HASHES, MERGES );
共100000条