华为云用户手册

  • PG_AUTH_HISTORY PG_AUTH_HISTORY系统表记录了角色的认证历史。需要有系统管理员权限才可以访问此系统表。 表1 PG_AUTH_HISTORY字段 名称 类型 描述 oid oid 行标识符(隐含字段,必须明确选择)。 roloid oid 角色标识。 passwordtime timestamp with time zone 创建和修改密码的时间。 rolpassword text 角色密码密文,加密方式由GUC参数password_encryption_type确定。 父主题: 系统表
  • GS_ASP GS_ASP显示被持久化的ACTIVE SESSION PROFILE样本。 表1 GS_ASP字段 名称 类型 描述 sampleid bigint 采样ID。 sample_time timestamp with time zone 采样的时间。 need_flush_sample boolean 该样本是否需要刷新到磁盘。 t(true):表示需要。 f(false):表示不需要。 databaseid oid 数据库ID。 thread_id bigint 线程的ID。 sessionid bigint 会话的ID。 start_time timestamp with time zone 会话的启动时间。 event text 具体的事件名称。 lwtid integer 当前线程的轻量级线程号。 psessionid bigint streaming线程的父线程。 tlevel integer streaming线程的层级。与执行计划的层级(id)相对应。 smpid integer smp执行模式下并行线程的并行编号。 userid oid session用户的id。 application_name text 应用的名字。 client_addr inet client端的地址。 client_hostname text client端的名字。 client_port integer 客户端用于与后端通讯的TCP端口号。 query_id bigint debug query id。 unique_query_id bigint unique query id。 user_id oid unique query的key中的user_id。 cn_id integer 表示该unique sql来自哪个CN节点。unique query的key中的cn_id。 unique_query text -规范化后的Unique SQL文本串。 locktag text 会话等待锁信息,可通过locktag_decode解析。 lockmode text 会话等待锁模式: LW_EXCLUSIVE:排他锁 LW_SHARED:共享锁 LW_WAIT_UNTIL_FREE:等待LW_EXCLUSIVE可用 block_sessionid bigint 如果会话正在等待锁,阻塞该会话获取锁的会话标识。 wait_status text 描述event列的更多详细信息。 global_sessionid text 全局会话ID。 父主题: 系统表
  • 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_AUTH_MEMBERS PG_AUTH_MEMBERS系统表存储显示角色之间的成员关系。 表1 PG_AUTH_MEMBERS字段 名称 类型 描述 roleid oid 拥有成员的角色ID。 member oid 属于ROLEID角色的一个成员的角色ID。 grantor oid 赋予此成员关系的角色ID。 admin_option Boolean 如果MEMBER可以把ROLEID角色的成员关系赋予其他角色,则为真。 不可以为假。 父主题: 系统表
  • PG_AMOP PG_AMOP系统表存储有关和访问方法操作符族关联的信息。如果一个操作符是一个操作符族中的成员,则在这个表中会占据一行。一个族成员是一个search操作符或一个ordering操作符。一个操作符可以在多个族中出现,但是不能在一个族中的多个搜索位置或多个排序位置中出现。 表1 PG_AMOP字段 名称 类型 引用 描述 oid oid - 行标识符(隐含字段,必须明确选择)。 amopfamily oid PG_OPFAMILY.oid 这个项的操作符族。 amoplefttype oid PG_TYPE.oid 操作符的左输入类型。可能取值及其描述见于pg_type.h。 amoprighttype oid PG_TYPE.oid 操作符的右输入类型。可能取值及其描述见于pg_type.h。 amopstrategy smallint - 操作符策略数。 amoppurpose "char" - 操作符目的,s为搜索或o为排序。 amopopr oid PG_OPERATOR.oid 该操作符的OID。 amopmethod oid PG_AM.oid 索引访问方式操作符族。 amopsortfamily oid PG_OPFAMILY.oid 如果是一个排序操作符,则为这个项排序所依据的btree操作符族;如果是一个搜索操作符,则为0。 search操作符表明这个操作符族的一个索引可以被搜索,找到所有满足WHERE indexed_column operator constant的行。显然,这样的操作符必须返回布尔值,并且它的左输入类型必须匹配索引的字段数据类型。 ordering操作符表明这个操作符族的一个索引可以被扫描,返回以ORDER BY indexed_column operator constant顺序表示的行。这样的操作符可以返回任意可排序的数据类型,它的左输入类型也必须匹配索引的字段数据类型。 ORDER BY的确切的语义是由amopsortfamily字段指定的,该字段必须为操作符的返回类型引用一个btree操作符族。 父主题: 系统表
  • GS_WLM_SESSION_QUERY_INFO_ALL GS_WLM_SESSION_QUERY_INFO_ALL系统表显示当前CN执行作业结束后的负载管理记录。此数据是从内核中转储到系统表中的数据。当设置GUC参数enable_resource_record为on时,系统会定时(周期为3分钟)将内核中query信息导入GS_WLM_SESSION_QUERY_INFO_ALL系统表。查询该系统表需要sysadmin权限。 表1 GS_WLM_SESSION_QUERY_INFO_ALL字段 名称 类型 描述 datid oid 连接后端的数据库OID。 dbname text 连接后端的数据库名称。 schemaname text 模式的名称。 nodename text 语句执行的CN名称。 username text 连接到后端的用户名。 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进行设置,默认为空字符串。 block_time bigint 语句执行前的阻塞时间,包含语句解析和优化时间,单位ms。 start_time timestamp with time zone 语句执行的开始时间。 finish_time timestamp with time zone 语句执行的结束时间。 duration bigint 语句实际执行的时间,单位ms。 estimate_total_time bigint 语句预估执行时间,单位ms。 status text 语句执行结束状态:正常为finished,异常为aborted。 abort_info text 语句执行结束状态为aborted时显示异常信息。 resource_pool text 用户使用的资源池。 control_group text 语句所使用的Cgroup。 estimate_memory integer 语句估算内存大小。 min_peak_memory integer 语句在所有DN上的最小内存峰值,单位MB。 max_peak_memory integer 语句在所有DN上的最大内存峰值,单位MB。 average_peak_memory integer 语句执行过程中的内存使用平均值,单位MB。 memory_skew_percent integer 语句各DN间的内存使用倾斜率。 spill_info text 语句在所有DN上的下盘信息: None:所有DN均未下盘。 All: 所有DN均下盘。 [a:b]: 数量为b个DN中有a个DN下盘。 min_spill_size integer 若发生下盘,所有DN上下盘的最小数据量,单位MB,默认为0。 max_spill_size integer 若发生下盘,所有DN上下盘的最大数据量,单位MB,默认为0。 average_spill_size integer 若发生下盘,所有DN上下盘的平均数据量,单位MB,默认为0。 spill_skew_percent integer 若发生下盘,DN间下盘倾斜率。 min_dn_time bigint 语句在所有DN上的最小执行时间,单位ms。 max_dn_time bigint 语句在所有DN上的最大执行时间,单位ms。 average_dn_time bigint 语句在所有DN上的平均执行时间,单位ms。 dntime_skew_percent integer 语句在各DN间的执行时间倾斜率。 min_cpu_time bigint 语句在所有DN上的最小CPU时间,单位ms。 max_cpu_time bigint 语句在所有DN上的最大CPU时间,单位ms。 total_cpu_time bigint 语句在所有DN上的CPU总时间,单位ms。 cpu_skew_percent integer 语句在DN间的CPU时间倾斜率。 min_peak_iops integer 语句在所有DN上的每秒最小IO峰值(列存单位是次/s,行存单位是万次/s)。 max_peak_iops integer 语句在所有DN上的每秒最大IO峰值(列存单位是次/s,行存单位是万次/s)。 average_peak_iops integer 语句在所有DN上的每秒平均IO峰值(列存单位是次/s,行存单位是万次/s)。 iops_skew_percent integer 语句在DN间的IO倾斜率。 warning text 主要显示如下几类告警信息以及SQL自诊断调优相关告警: 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 语句所属用户对应的逻辑集群。 cpu_top1_node_name text cpu使用率第1的节点名称。 cpu_top2_node_name text cpu使用率第2的节点名称。 cpu_top3_node_name text cpu使用率第3的节点名称。 cpu_top4_node_name text cpu使用率第4的节点名称。 cpu_top5_node_name text cpu使用率第5的节点名称。 mem_top1_node_name text 内存使用量第1的节点名称。 mem_top2_node_name text 内存使用量第5的节点名称。 mem_top3_node_name text 内存使用量第5的节点名称。 mem_top4_node_name text 内存使用量第5的节点名称。 mem_top5_node_name text 内存使用量第5的节点名称。 cpu_top1_value bigint cpu使用率。 cpu_top2_value bigint cpu使用率。 cpu_top3_value bigint cpu使用率。 cpu_top4_value bigint cpu使用率。 cpu_top5_value bigint cpu使用率。 mem_top1_value bigint 内存使用量。 mem_top2_value bigint 内存使用量。 mem_top3_value bigint 内存使用量。 mem_top4_value bigint 内存使用量。 mem_top5_value bigint 内存使用量。 top_mem_dn text 内存使用量topN信息。 top_cpu_dn text cpu使用量topN信息。 n_returned_rows bigint Select返回的结果集行数。 n_tuples_fetched bigint 随机扫描行数。 n_tuples_returned bigint 顺序扫描行数。 n_tuples_inserted bigint 插入行数。 n_tuples_updated bigint 更新行数。 n_tuples_deleted bigint 删除行数。 n_blocks_fetched bigint Cache加载次数。 n_blocks_hit bigint Cache命中数。 db_time bigint 有效的DB时间花费,多线程将累加(单位:微秒)。 cpu_time bigint CPU时间(单位:微秒)。 execution_time bigint 执行器内执行时间(单位:微秒)。 parse_time bigint SQL解析时间(单位:微秒)。 plan_time bigint SQL生成计划时间(单位:微秒)。 rewrite_time bigint SQL重写时间(单位:微秒)。 pl_execution_time bigint plpgsql上的执行时间(单位:微秒)。 pl_compilation_time bigint plpgsql上的编译时间(单位:微秒)。 net_send_time bigint 网络上的时间花费(单位:微秒)。 data_io_time bigint IO上的时间花费(单位:微秒)。 is_slow_query bigint 标记是否为慢查询。 取值为1时表示其为慢查询。 父主题: 系统表
  • PG_APP_WORKLOADGROUP_MAPPING PG_APP_WORKLOADGROUP_MAPPING系统表提供了数据库负载映射组的信息。 表1 PG_APP_WORKLOADGROUP_MAPPING字段 名称 类型 描述 oid oid 行标识符(隐含字段,必须明确选择)。 appname name 应用名称。 workload_gpname name 映射到的负载组名称。 父主题: 系统表
  • 结构 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块时出现异常。
  • GS_WLM_OPERATOR_INFO GS_WLM_OPERATOR_INFO系统表显示执行作业结束后的算子相关的记录。此数据是从内核中转储到系统表中的数据。当设置GUC参数enable_resource_record为on时,系统会定时(周期为3分钟)将GS_WLM_SESSION_HISTORY中的记录导入此系统表,开启此功能会占用系统存储空间并对性能有一定影响,不建议用户使用。查询该系统表需要sysadmin权限。 表1 GS_WLM_OPERATOR_INFO的字段 名称 类型 描述 queryid bigint 语句执行使用的内部query_id。 pid bigint 后端线程id。 plan_node_id integer 查询对应的执行计划的plan node id。 plan_node_name text 对应于plan_node_id的算子的名称。 start_time timestamp with time zone 该算子处理第一条数据的开始时间。 duration bigint 该算子到结束时候总的执行时间(ms)。 query_dop integer 当前算子执行时的并行度。 estimated_rows bigint 优化器估算的行数信息。 tuple_processed bigint 当前算子返回的元素个数。 min_peak_memory integer 当前算子在所有DN上的最小内存峰值(MB)。 max_peak_memory integer 当前算子在所有DN上的最大内存峰值(MB)。 average_peak_memory integer 当前算子在所有DN上的平均内存峰值(MB)。 memory_skew_percent integer 当前算子在各DN间的内存使用倾斜率。 min_spill_size integer 若发生下盘,所有DN上下盘的最小数据量(MB),默认为0。 max_spill_size integer 若发生下盘,所有DN上下盘的最大数据量(MB),默认为0。 average_spill_size integer 若发生下盘,所有DN上下盘的平均数据量(MB),默认为0。 spill_skew_percent integer 若发生下盘,DN间下盘倾斜率。 min_cpu_time bigint 该算子在所有DN上的最小执行时间(ms)。 max_cpu_time bigint 该算子在所有DN上的最大执行时间(ms)。 total_cpu_time bigint 该算子在所有DN上的总执行时间(ms)。 cpu_skew_percent integer DN间执行时间的倾斜率。 warning text 主要显示如下几类告警信息: Sort/SetOp/HashAgg/HashJoin spill 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 父主题: 系统表
  • GS_WLM_USER_RESOURCE_HISTORY GS_WLM_USER_RESOURCE_HISTORY系统表存储与用户使用资源相关的信息,仅在CN上有效。该系统表的每条记录都是对应时间点某用户的资源使用情况,包括:内存、CPU核数、存储空间、临时空间、算子落盘空间、逻辑IO流量、逻辑IO次数和逻辑IO速率信息。其中,内存、CPU、IO相关监控项仅记录用户复杂作业的资源使用情况。对于IO相关监控项,当参数enable_logical_io_statistics为on时才有效;当参数enable_user_metric_persistent为on时,才会开启用户监控数据保存功能。GS_WLM_USER_RESOURCE_HISTORY系统表的数据来源于PG_TOTAL_USER_RESOURCE_INFO视图。查询该系统表需要sysadmin权限。 表1 GS_WLM_USER_RESOURCE_HISTORY 名称 类型 描述 username text 用户名 timestamp timestamp with time zone 时间戳 used_memory integer 正在使用的内存大小,单位MB。 total_memory integer 可以使用的内存大小,单位为MB。值为0表示未限制最大可用内存,其限制取决于数据库最大可用内存。 used_cpu real 正在使用的CPU核数。 total_cpu integer 该机器节点上,用户关联控制组的CPU核数总和。 used_space bigint 已使用的存储空间大小,单位KB。 total_space bigint 可使用的存储空间大小,单位KB,值为-1表示未限制最大存储空间。 used_temp_space bigint 已使用的临时存储空间大小,单位KB。 total_temp_space bigint 可使用的临存储空间大小,单位KB,值为-1表示未限制最大临时存储空间。 used_spill_space bigint 已使用的算子落盘存储空间大小,单位KB。 total_spill_space bigint 可使用的算子落盘存储空间大小,单位KB,值为-1表示未限制最大算子落盘存储空间。 read_kbytes bigint 监控周期内,读操作的字节流量,单位KB。 write_kbytes bigint 监控周期内,写操作的字节流量,单位KB。 read_counts bigint 监控周期内,读操作的次数,单位次。 write_counts bigint 监控周期内,写操作的次数,单位次。 read_speed real 监控周期内,读操作的字节速率,单位KB/s。 write_speed real 监控周期内,写操作的字节速率,单位KB/s。 父主题: 系统表
  • PG_AMPROC PG_AMPROC系统表存储有关与访问方法操作符族相关联的支持过程的信息。每个属于某个操作符族的支持过程都占有一行。 表1 PG_AMPROC字段 名称 类型 引用 描述 oid oid - 行标识符(隐含字段,必须明确选择)。 amprocfamily oid PG_OPFAMILY.oid 该项的操作符族。 amproclefttype oid PG_TYPE.oid 相关操作符的左输入数据类型。 常见的数据类型请参见数据类型。 amprocrighttype oid PG_TYPE.oid 相关操作符的右输入数据类型。 常见的数据类型请参见数据类型。 amprocnum smallint - 支持过程编号。 amproc regproc PG_PROC .proname 过程的OID。 amproclefttype和amprocrighttype字段的习惯解释,标识一个特定支持过程支持的操作符的左和右输入类型。对于某些访问方式,匹配支持过程本身的输入数据类型,对其他的则不这样。有一个对索引的“缺省”支持过程的概念,amproclefttype和amprocrighttype都等于索引操作符类的opcintype。 父主题: 系统表
  • GS_WLM_INSTANCE_HISTORY GS_WLM_INSTANCE_HISTORY系统表存储与实例(CN或DN)相关的资源使用相关信息。该系统表里每条记录都是对应时间点某实例资源使用情况,包括:内存、CPU核数、磁盘IO、进程物理IO和进程逻辑IO信息。查询该系统表需要sysadmin权限。 表1 GS_WLM_INSTANCE_HISTORY字段 名称 类型 描述 instancename text 实例名称。 timestamp timestamp with time zone 时间戳。 used_cpu integer 实例使用CPU所占用的百分比。 free_mem integer 实例未使用的内存大小,单位MB。 used_mem integer 实例已使用的内存大小,单位MB。 io_await real 实例所使用磁盘的io_wait值(10秒均值)。 io_util real 实例所使用磁盘的io_util值(10秒均值)。 disk_read real 实例所使用磁盘的读速率(10秒均值),单位KB/s。 disk_write real 实例所使用磁盘的写速率(10秒均值),单位KB/s。 process_read bigint 实例对应进程从磁盘读数据的读速率(不包括从磁盘pagecache中读取的字节数,10秒均值),单位KB/s。 process_write bigint 实例对应进程向磁盘写数据的写速率(不包括向磁盘pagecache中写入的字节数,10秒均值),单位KB/s。 logical_read bigint CN实例:不统计。 DN实例:该实例在本次统计间隙(10秒)内逻辑读字节速率,单位KB/s。 logical_write bigint CN实例:不统计。 DN实例:该实例在本次统计间隙(10秒)内逻辑写字节速率,单位KB/s。 read_counts bigint CN实例:不统计。 DN实例:该实例在本次统计间隙(10秒)内逻辑读操作次数之和,单位次。 write_counts bigint CN实例:不统计。 DN实例:该实例在本次统计间隙(10秒)内逻辑写操作次数之和,单位次。 父主题: 系统表
  • GS_WLM_EC_OPERATOR_INFO GS_WLM_EC_OPERATOR_INFO系统表存储执行EC(Extension Connector)作业结束后的算子相关的记录。当设置GUC参数enable_resource_record为on时,系统会每3分钟将GS_WLM_EC_OPERATOR_HISTORY中的记录导入此系统表,开启此功能会占用系统存储空间并对性能有一定影响。查询该系统表需要sysadmin权限。 表1 GS_WLM_EC_OPERATOR_INFO的字段 名称 类型 描述 queryid bigint EC语句执行使用的内部query_id。 plan_node_id integer EC算子对应的执行计划的plan node id。 start_time timestamp with time zone EC算子处理第一条数据的开始时间。 duration bigint EC算子到结束时候总的执行时间(ms)。 tuple_processed bigint EC算子返回的元素个数。 min_peak_memory integer EC算子在所有DN上的最小内存峰值(MB)。 max_peak_memory integer EC算子在所有DN上的最大内存峰值(MB)。 average_peak_memory integer EC算子在所有DN上的平均内存峰值(MB)。 ec_status text EC作业的执行状态。 ec_execute_datanode text 执行EC作业的DN名称。 ec_dsn text EC作业所使用的DSN。 ec_username text EC作业访问远端集群的USERNAME(远端集群为SPARK类型时该值为空)。 ec_query text EC作业发送给远端集群执行的语句。 ec_libodbc_type text EC作业使用的unixODBC驱动类型。 父主题: 系统表
  • FORALL批量查询语句 语法图 图5 forall::= 变量index会自动定义为integer类型并且只在此循环里存在。index的取值介于low_bound和upper_bound之间。 示例 1 2 3 4 5 6 7 8 9101112131415161718192021222324252627282930 CREATE TABLE hdfs_t1 ( title NUMBER(6), did VARCHAR2(20), data_period VARCHAR2(25), kind VARCHAR2(25), interval VARCHAR2(20), time DATE, isModified VARCHAR2(10))DISTRIBUTE BY hash(did);INSERT INTO hdfs_t1 VALUES( 8, 'Donald', 'OConnell', 'DOCONNEL', '650.507.9833', to_date('21-06-1999', 'dd-mm-yyyy'), 'SH_CLERK' );CREATE OR REPLACE PROCEDURE proc_forall()AS BEGIN FORALL i IN 100..120 update hdfs_t1 set title = title + 100*i;END; /--调用函数CALL proc_forall();--查询存储过程调用结果SELECT * FROM hdfs_t1 WHERE title BETWEEN 100 AND 120;--删除存储过程和表DROP PROCEDURE proc_forall;DROP TABLE hdfs_t1;
  • FOR_LOOP查询语句 语法图 图4 for_loop_query::= 变量target会自动定义,类型和query的查询结果的类型一致,并且只在此循环中有效。target的取值就是query的查询结果。 示例 1 2 3 4 5 6 7 8 910111213141516 --循环输出查询结果。CREATE OR REPLACE PROCEDURE proc_for_loop_query()AS record VARCHAR2(50);BEGIN FOR record IN SELECT spcname FROM pg_tablespace LOOP dbe_output.print_line(record); END LOOP; END; /--调用函数CALL proc_for_loop_query();--删除存储过程DROP PROCEDURE proc_for_loop_query;
  • FOR_LOOP(integer变量)语句 语法图 图3 for_loop::= 变量name会自动定义为integer类型并且只在此循环里存在。变量name介于lower_bound和upper_bound之间。 当使用REVERSE关键字时,lower_bound必须大于等于upper_bound,否则循环体不会被执行。 示例 1 2 3 4 5 6 7 8 9101112131415 --从0到5进行循环CREATE OR REPLACE PROCEDURE proc_for_loop()AS BEGIN FOR I IN 0..5 LOOP DBE_OUTPUT.PRINT_LINE('It is '||to_char(I) || ' time;') ; END LOOP;END;/--调用函数CALL proc_for_loop();--删除存储过程DROP PROCEDURE proc_for_loop;
  • GS_POLICY_LABEL GS_POLICY_LABEL系统表记录资源标签配置信息,一个资源标签对应着一条或多条记录,每条记录标记了数据库资源所属的资源标签。需要有系统管理员或安全策略管理员权限才可以访问此系统表。 FQDN(Fully Qualified Domain Name)标识了数据库资源所属的绝对路径。 表1 GS_POLICY_LABEL表字段 名称 类型 描述 labelname name 资源标签名称。 labeltype name 资源标签类型,目前仅为RESOURCE。 fqdnnamespace oid 被标识的数据库资源所属的namespace oid。 fqdnid oid 被标识的数据库资源的oid,若数据库资源为列,则该列为所属表的oid。 relcolumn name 列名,若被标识的数据库资源为列,该列指出列名,否则该列为空。 fqdntype name 被标识的数据库资源的类型名称,例如schema、table、column、view等 父主题: 系统表
  • GS_MATVIEW_DEPENDENCY GS_MATVIEW_DEPENDENCY系统表提供了关于数据库中每一个物化视图的基表和mlog表的关联信息。 表1 GS_MATVIEW_DEPENDENCY字段 名称 类型 描述 matviewid oid 物化视图的oid。 relid oid 物化视图基表的oid。 mlogid oid 物化视图mlog表的oid,mlog表为物化视图日志表,与基表一一对应。 mxmin int4 当前物化视图对应mlog表中元组最小xid 父主题: 系统表
  • GS_OBSSCANINFO GS_OBSSCANINFO系统表定义了在云上加速场景中,使用加速集群时扫描OBS数据的运行时信息,每条记录对应一个query中单个OBS外表的运行时信息。 表1 GS_OBSSCANINFO字段 名称 类型 引用 描述 query_id bigint - 查询标识。 user_id text - 执行该查询的数据库用户。 table_name text - OBS外表的表名。 file_type text - 底层数据保存的文件格式。 time_stamp timestamp with time zone - 扫描操作开始的时间。 actual_time double precision - 扫描操作执行时间,单位为秒。 file_scanned bigint - 扫描的文件数量。 data_size double precision - 扫描的数据量,单位为字节。 billing_info text - 保留字段。 父主题: 系统表
  • GS_MATVIEW GS_MATVIEW系统表提供了关于数据库中每一个物化视图的信息。 表1 GS_MATVIEW字段 名称 类型 描述 matviewid oid 物化视图的oid。 mapid oid 物化视图map表的oid,map表为物化视图关联表,与物化视图一一对应。 ivm boolean 物化视图的类型。t为增量物化视图,f为全量物化视图。 needrefresh boolean 物化视图是否需要刷新。t表示有增量数据,需要刷新。f表示没有增量数据,不需要刷新。 refreshtime timestamp 物化视图上一次刷新时间,若未刷新则为null。 父主题: 系统表
  • GS_ENCRYPTED_COLUMNS GS_ENCRYPTED_COLUMNS系统表记录密态等值特性中表的加密列相关信息,每条记录对应一条加密列信息。 表1 GS_ENCRYPTED_COLUMNS字段 名称 类型 描述 rel_id oid 表的OID。 column_name name 加密列的名称。 column_key_id oid 外键,列加密密钥的OID。 encryption_type int1 加密类型。取值为2(DETERMINISTIC)或者1(RANDOMIZED)。 data_type_original_oid oid 加密列的原始数据类型id。该值参考系统表PG_TYPE的oid字段。 data_type_original_mod int4 加密列的原始数据类型修饰符。该值参考原始数据类型对应的系统表PG_ATTRIBUTE中的atttypmod字段。 create_date timestamp 创建加密列的时间。 父主题: 系统表
  • GS_MASKING_POLICY_FILTERS GS_MASKING_POLICY_FILTERS系统表记录动态数据脱敏策略对应的用户过滤条件,当用户条件满足FILTER条件时,对应的脱敏策略才会生效。需要有系统管理员或安全策略管理员权限才可以访问此系统表。 表1 GS_MASKING_POLICY_FILTERS表字段 名称 类型 描述 filtertype name 过滤类型。目前值仅为logical_expr。 filterlabelname name 过滤范围。目前值仅为logical_expr。 policyoid oid 该条用户过滤条件所属的脱敏策略oid,对应GS_MASKING_POLICY中的oid。 modifydate timestamp 该条用户过滤条件创建或修改的最新时间戳。 logicaloperator text 过滤条件的波兰表达式。 父主题: 系统表
  • GS_GLOBAL_CONFIG GS_GLOBAL_CONFIG记录了集群初始化时,用户指定的参数值。除此之外,还存放了用户设置的弱口令。 表1 GS_GLOBAL_CONFIG字段 名称 类型 描述 name name 集群初始化时系统内置的指定参数名称。当前版本第一行默认为buckets_len,第二行起存放弱口令名称。 value text 集群初始化时系统内置的指定参数值。当前版本第一行默认为bucketmap长度;第二行起存放弱口令。 父主题: 系统表
  • GS_MASKING_POLICY_ACTIONS GS_MASKING_POLICY_ACTIONS系统表记录动态数据脱敏策略中相应的脱敏策略包含的脱敏行为,一个脱敏策略对应着该表的一行或多行记录。需要有系统管理员或安全策略管理员权限才可以访问此系统表。 表1 GS_MASKING_POLICY_ACTIONS表字段 名称 类型 描述 actiontype name 脱敏函数,标识脱敏策略使用的脱敏函数。 actparams name 向脱敏函数中传递的参数信息。 actlabelname name 被脱敏的label名称。 policyoid oid 该条记录所属的脱敏策略oid,对应GS_MASKING_POLICY中的oid。 modifydate timestamp 该条记录创建或修改的最新时间戳。 父主题: 系统表
  • GS_MASKING_POLICY GS_MASKING_POLICY系统表记录动态数据脱敏策略的主体信息,每条记录对应一个脱敏策略。需要有系统管理员或安全策略管理员权限才可以访问此系统表。 表1 GS_MASKING_POLICY表字段 名称 类型 描述 oid oid 行标识符(隐藏属性,必须明确选择)。 polname name 策略名称,唯一不可重复。 polcomments name 策略描述字段,记录策略相关的描述信息,通过COMMENTS关键字体现。 modifydate timestamp 策略创建或修改的最新时间戳。 polenabled Boolean 策略启动开关。 t(true):表示策略启动。 f(false):表示策略没有启动。 父主题: 系统表
  • 接口介绍 高级功能包DBE_FILE支持的所有接口请参见表 DBE_FILE。 表1 DBE_FILE 接口名称 描述 DBE_FILE.OPEN 根据指定的目录和文件名打开一个文件。 DBE_FILE.IS_CLOSE 检测一个文件句柄是否打开。 DBE_FILE.READ_LINE 根据指定的长度从一个打开的文件句柄中读取出一行数据。 DBE_FILE.WRITE 将BUFFER中指定的数据写入到文件中。 DBE_FILE.NEW_LINE 这个存储过程用于向一个打开的文件中写入一个或者多个行终结符。 DBE_FILE.WRITE_LINE 这个存储过程将BUFFER中的字符串写入到一个打开的文件中。 DBE_FILE.FORMAT_WRITE 这个存储过程是一个格式化的PUT存储过程,行为类似printf()。 DBE_FILE.GET_RAW 从一个打开的文件句柄中读取二进制数据。 DBE_FILE.PUT_RAW 向文件中写入传入的二进制数据。 DBE_FILE.FLUSH 将一个文件句柄中的数据写入到物理文件中。 DBE_FILE.CLOSE 关闭一个打开的文件句柄。 DBE_FILE.CLOSE_ALL 关闭一个会话中打开的所有的文件句柄。 DBE_FILE.REMOVE 这个存储过程删除一个磁盘文件,操作的时候需要有充分的权限。 DBE_FILE.RENAME 对于磁盘上的文件进行重命名,类似Unix的mv。 DBE_FILE.COPY 拷贝一个连续的区域内容到一个新创建的文件中,如果忽略了start_line和end_line会拷贝整个文件。 DBE_FILE.GET_ATTR 读取并返回磁盘文件的属性。 DBE_FILE.SEEK 根据用户指定的字节数向前或者向后调整文件指针的位置。 DBE_FILE.GET_POS 返回文件的偏移量,单位字节。 DBE_FILE.OPEN 该函数用来打开一个文件,可以指定最大行的大小,最多可以同时打开50个文件。并且该函数返回INTEGER类型的一个句柄。 DBE_FILE.OPEN函数原型为: 123456 DBE_FILE.OPEN (dir IN VARCHAR2,file_name IN VARCHAR2,open_mode IN VARCHAR2,max_line_size IN INTEGER DEFAULT 1024)RETURN INTEGER; 表2 DBE_FILE.OPEN接口参数说明 参数 描述 dir 文件的目录位置,这个字符串是一个目录对象名。 说明: 文件目录的位置,需要添加到系统表PG_DIRECTORY中,如果传入的路径和PG_DIRECTORY中的路径不匹配,会报路径不存在的错误, 下面的涉及location作为参数的函数也是同样的情况。 file_name 文件名,包含扩展(文件类型),不包括路径名。如果文件名中包含路径,在OPEN中会被忽略,在Unix系统中,文件名不能以/.结尾。 open_mode 指定文件的打开模式,包含r:read text,w: write text和a: append text。 说明: 对于写操作,会检测写入文件类型,如果为elf类型文件,会报错退出。 max_line_size 每行最大字符数,包含换行符(最小值是1,最大值是32767)。如果没有指定,会指定一个默认值1024。 DBE_FILE.IS_CLOSE 该函数用于检测一个文件句柄来查看文件是否已经打开,返回一个布尔值,异常情况是INVALID_FILEHANDLE。 DBE_FILE.IS_CLOSE函数原型为: 123 DBE_FILE.IS_CLOSE (file IN INTEGERINTEGER)RETURN BOOLEAN; 表3 DBE_FILE.IS_CLOSE接口参数说明 参数 描述 file IN INTEGERINTEGER 传入一个要检测的文件句柄。 DBE_FILE.READ_LINE 该存储过程从一个打开的文件句柄中读取文本,并把读取的结果存放到BUFFER中。读取的时候会读取到行尾,不包含行终结符或者读取到文件末尾,或者达到了len参数指定的大小,读取的长度不能超过OPEN的时候指定的max_line_size。 DBE_FILE.READ_LINE函数原型为: 1234 DBE_FILE.READ_LINE (file IN INTEGER,buffer OUT VARCHAR2,len IN INTEGER DEFAULT NULL) 表4 DBE_FILE.READ_LINE接口参数说明 参数 描述 file 通过调用OPEN打开的文件句柄,文件必须以读的模式打开,否则会抛出INVALID_OPERATION的异常。 buffer 用于接收数据的BUFFER。 len 从文件中读取的字节数,默认是NULL。如果是默认NULL,会使用max_linesize来指定大小。 DBE_FILE.WRITE 该存储过程用于向文件中写入BUFFER中的数据,要写入的文件必须以写模式打开,这个操作不会写入行终结符。 DBE_FILE.WRITE函数原型为: 123 DBE_FILE.WRITE (file IN INTEGERINTEGER,buffer IN VARCHAR2); 表5 DBE_FILE.WRITE接口参数说明 参数 描述 file 该存储过程用于向文件中写入BUFFER中的数据,要写入的文件必须以写模式打开,这个操作不会写入行终结符。 buffer 要写入文件的文本数据,BUFFER的最大值是32767个字节。如果在open的时候没有指定值,默认是1024个字节,没有刷新到文件之前,一系列的WRITE操作的BUFFER总和不能超过32767个字节。 说明: 对于写操作,会检测写入文件类型,如果为elf类型文件,会报错退出。 DBE_FILE.NEW_LINE 该存储过程用于向一个打开的文件中写入一个或者多个行终结符。这个存储过程是从WRITE函数中拆分出来的,因为行终结符和平台相关。 DBE_FILE.NEW_LINE函数原型为: 123 DBE_FILE.NEW_LINE (file IN INTEGER,line_nums IN INTEGER := 1); 表6 DBE_FILE.NEW_LINE接口参数说明 参数 描述 file 一个打开的文件句柄。 line_nums 写入到文件中的终结符的数量。 DBE_FILE.WRITE_LINE 该存储过程将BUFFER中的字符串写入到一个打开的文件中,文件必须以写模式打开。 DBE_FILE.WRITE_LINE函数原型为: 1234 DBE_FILE.WRITE_LINE(file IN INTEGER,buffer IN VARCHAR2,flush IN BOOLEAN DEFAULT FALSE); 表7 DBE_FILE.WRITE_LINE接口参数说明 参数 描述 file 一个打开的文件句柄。 buffer 要写入文件的文本数据,BUFFER的最大值是32767个字节。如果在open的时候没有指定值,默认是1024个字节,没有刷新到文件之前,一系列的PUT操作的BUFFER总和不能超过32767个字节。 说明: 对于写操作,会检测写入文件类型,如果为elf类型文件,会报错退出。 flush 在write后是否要刷到磁盘。 DBE_FILE.FORMAT_WRITE 该存储过程是一个格式化的PUT存储过程,行为类似printf()。 DBE_FILE.FORMAT_WRITE函数原型为: 123456 DBE_FILE.FORMAT_WRITE (file IN INTEGER,format IN VARCHAR2,arg1 IN VARCHAR2 DEFAULT NULL,. . .arg5 IN VARCHAR2 DEFAULT NULL]); 表8 DBE_FILE.FORMAT_WRITE接口参数说明 参数 描述 file 一个打开的文件句柄。 format 一个要进行格式化的字符串包含,文本和格式符\n和%s。 [arg1. . .arg5] 从1到5个可选的参数串,参数和格式化字符的位置是一一对应的,如果存在格式化字符而没有提供参数,会使用空串来替代%s。 DBE_FILE.GET_RAW 该函数用于从打开的文件描述符中读取二进制数据,从r中返回。 DBE_FILE.GET_RAW函数原型为: 1234 DBE_FILE.GET_RAW (file IN INTEGER,r OUT RAW,length IN INTEGER DEFAULT NULL); 表9 DBE_FILE.GET_RAW接口参数说明 参数 描述 file 一个打开的文件句柄。 r 输出的二进制数据 length 要读取文件的长度,默认值为NULL,读取文件中所有数据,最大长度为1G。 DBE_FILE.PUT_RAW 该函数用于向文件中写入二进制数据。 DBE_FILE.PUT_RAW函数原型为: 1234 DBE_FILE.GET_RAW (file IN INTEGER,r IN RAW,flush IN BOOLEAN DEFAULT FALSE); 表10 DBE_FILE.PUT_RAW接口参数说明 参数 描述 file 一个打开的文件句柄。 r 输出的二进制数据 说明: 对于写操作,会检测写入文件类型,如果为elf类型文件,会报错退出。 flush 是否flush到文件中,默认为false。 DBE_FILE.FLUSH 一个文件句柄中的数据要写入到物理文件中,缓冲区中的数据必须要有一个行终结符。当文件必须在打开时读取,刷新非常有用。例如,调试信息可以刷新到文件中,以便立即读取。 DBE_FILE.FLUSH函数原型为: 12 DBE_FILE.FLUSH (file IN INTEGER); 表11 DBE_FILE.FLUSH接口参数说明 参数 描述 file 一个打开的文件句柄。 DBE_FILE.CLOSE 该存储过程用于关闭一个打开的文件句柄,当调用这个存储过程的时候,如果还有等待写入的缓存的数据,可能会收到异常信息。 DBE_FILE.CLOSE函数原型为: 12 DBE_FILE.CLOSE (file IN OUT INTEGER); 表12 DBE_FILE.CLOSE接口参数说明 参数 描述 file 一个打开的文件句柄。 DBE_FILE.CLOSE_ALL 该存储过程关闭一个会话中打开的所有的文件句柄,可用于紧急的清理操作。 DBE_FILE.CLOSE_ALL函数原型为: 1 DBE_FILE.CLOSE_ALL; 表13 DBE_FILE.CLOSE_ALL接口参数说明 参数 描述 无 无 DBE_FILE.REMOVE 该存储过程删除一个磁盘文件,操作的时候对目录和文件要有充分的权限。 DBE_FILE.REMOVE函数原型为: 123 DBE_FILE.REMOVE (dir IN VARCHAR2,file_name IN VARCHAR2); 表14 DBE_FILE.REMOVE接口参数说明 参数 描述 dir 文件所在的目录位置。 file_name 要删除的文件。 DBE_FILE.RENAME 对磁盘上的文件进行重命名,类似Unix的mv。 DBE_FILE.RENAME函数原型为: 123456 DBE_FILE.RENAME (src_dir IN VARCHAR2,src_file_name IN VARCHAR2,dest_dir IN VARCHAR2,dest_file_name IN VARCHAR2,overwrite IN BOOLEAN DEFAULT FALSE); 表15 DBE_FILE.RENAME接口参数说明 参数 描述 src_dir 原文件的目录位置(大小写敏感)。 src_file_name 要进行命名的原文件。 dest_dir 目的目录(大小写敏感)。 dest_file_name 新的文件名。 overwrite 默认是false,如果目的目录下存在一个同名的文件,不会进行重写。 DBE_FILE.COPY 该存储过程拷贝一个连续的区域内容到一个新创建的文件中,如果忽略了start_line和end_line会拷贝整个文件。 DBE_FILE.COPY函数原型为: 1234567 DBE_FILE.COPY (src_dir IN VARCHAR2,src_file_name IN VARCHAR2,dest_dir IN VARCHAR2,dest_file_name IN VARCHAR2,start_line IN INTEGER DEFAULT 1,end_line IN INTEGER DEFAULT NULL); 表16 DBE_FILE.COPY接口参数说明 参数 描述 src_dir 原文件所在的目录。 src_file_name 要拷贝的原文件。 dest_dir 目的文件所在的目录。 dest_file_name 要写入的目的文件。 说明: 对于写操作,会检测写入文件类型,如果为elf类型文件,会报错退出。 start_line 拷贝开始的行号,默认是1。 end_line 拷贝结束的行号,默认是NULL,指定到文件尾。 DBE_FILE.GET_ATTR 该存储过程用于读取并返回磁盘文件的属性。 DBE_FILE.FGETATTR函数原型为: 123456 DBE_FILE.GET_ATTR(dir IN VARCHAR2,file_name IN VARCHAR2,is_exists OUT BOOLEAN,length OUT NUMBER,block_size OUT INTEGER); 表17 DBE_FILE.GET_ATTR接口参数说明 参数 描述 dir 文件所在的目录。 file_name 要检测的文件名。 is_exists 返回文件是否存在的值。 length 文件的字节长度,如果文件不存在返回NULL。 block_size 文件系统的块大小(单位字节),如果文件不存在返回NULL。 DBE_FILE.SEEK 该存储过程会根据用户指定的字节数向前或者向后调整文件指针的位置。 DBE_FILE.SEEK函数原型为: 1234 DBE_FILE.SEEK (file INOUT DBE_FILE.FILE_TYPE,absolute_start IN INTEGER DEFAULT NULL,relative_start IN INTEGER DEFAULT NULL); 表18 DBE_FILE.SEEK接口参数说明 参数 描述 file 一个打开的文件句柄。 absolute_start 文件偏移的绝对位置,这个默认值为NULL。 relative_start 文件偏移的相对位置。如果这个值是正数,向前偏移;如果是负数,向后偏移;默认值为NULL。如果和absolute_offset参数同时指定,以absolute_offset参数为准。 DBE_FILE.GET_POS 函数返回文件的偏移量,单位字节。 DBE_FILE.FGETPOS函数原型为: 123 DBE_FILE.GET_POS (file IN INTEGER)RETURN BIGINT; 表19 DBE_FILE.GET_POS接口参数说明 参数 描述 file 一个打开的文件句柄。
  • GS_COLUMN_KEYS_ARGS GS_COLUMN_KEYS_ARGS系统表记录密态等值特性中客户端加密主密钥相关元数据信息,每条记录对应客户端加密主密钥的一个键值对信息。 表1 GS_COLUMN_KEYS_ARGS字段 名称 类型 描述 column_key_id oid 列加密密钥(cek)oid。 function_name name 值为encryption。 key name 列加密密钥(cek)的元数据信息对应的名称。 value bytea 列加密密钥(cek)的元数据信息名称的值。 父主题: 系统表
  • GS_COLUMN_KEYS GS_COLUMN_KEYS系统表记录密态等值特性中列加密密钥相关信息,每条记录对应一个列加密密钥。 表1 GS_COLUMN_KEYS字段 名称 类型 描述 column_key_name name 列加密密钥(cek)名称。 column_key_distributed_id oid 根据加密密钥(cek)全称域名hash值得到的id。 global_key_id oid 外键。客户端加密主密钥(cmk)的OID。 key_namespace oid 包含此列加密密钥(cek)的命名空间OID。 key_owner oid 列加密密钥(cek)的所有者。 create_date timestamp 创建列加密密钥的时间。 key_acl aclitem[] 创建该列加密密钥时所拥有的访问权限。 父主题: 系统表
  • GS_CLIENT_GLOBAL_KEYS_ARGS GS_CLIENT_GLOBAL_KEYS_ARGS系统表记录密态等值特性中客户端加密主密钥相关元数据信息,每条记录对应客户端加密主密钥的一个键值对信息。 表1 GS_CLIENT_GLOBAL_KEYS_ARGS字段 名称 类型 描述 global_key_id oid 客户端加密主密钥(cmk)oid。 function_name name 值为encryption。 key name 客户端加密主密钥(cmk)的元数据信息对应的名称。 value bytea 客户端加密主密钥(cmk)的元数据信息名称的值。 父主题: 系统表
  • PKG_UTIL PKG_UTIL支持的所有接口请参见表1: 表1 PKG_UTIL 接口名称 描述 PKG_UTIL.LOB_GET_LENGTH 获取lob的长度。 PKG_UTIL.LOB_READ 读取lob对象的一部分。 PKG_UTIL.LOB_WRITE 将源对象按照指定格式写入到目标对象。 PKG_UTIL.LOB_APPEND 将lob源对象指定个数的字符追加到目标lob对象。 PKG_UTIL.LOB_COMPARE 根据指定长度比较两个lob对象。 PKG_UTIL.LOB_MATCH 返回一个字符串在LOB中第N次出现的位置。 PKG_UTIL.LOB_RESET 将lob的指定位置重置为指定字符。 PKG_UTIL.IO_PRINT 将字符串打印输出。 PKG_UTIL.RAW_GET_LENGTH 获取raw的长度。 PKG_UTIL.RAW_CAST_FROM_VARCHAR2 将varchar2转化为raw。 PKG_UTIL.RAW_CAST_FROM_BINARY_INTEGER 将binary integer转化为raw。 PKG_UTIL.RAW_CAST_TO_BINARY_INTEGER 将raw转化为binary integer。 PKG_UTIL.SET_RANDOM_SEED 设置随机种子。 PKG_UTIL.RANDOM_GET_VALUE 返回随机值。 PKG_UTIL.FILE_SET_DIRNAME 设置当前操作的目录。 PKG_UTIL.FILE_OPEN 根据指定文件名和设置的目录打开一个文件。 PKG_UTIL.FILE_SET_MAX_LINE_SIZE 设置写入文件一行的最大长度。 PKG_UTIL.FILE_IS_CLOSE 检测一个文件句柄是否关闭。 PKG_UTIL.FILE_READ 从一个打开的文件句柄中读取指定长度的数据。 PKG_UTIL.FILE_REA DLI NE 从一个打开的文件句柄中读取一行数据。 PKG_UTIL.FILE_WRITE 将BUFFER中的数据写入到文件中。 PKG_UTIL.FILE_WRITELINE 将buffer写入文件,并追加换行符。 PKG_UTIL.FILE_NEWLINE 新起一行。 PKG_UTIL.FILE_READ_RAW 从一个打开的文件句柄中读取指定长度的二进制数据。 PKG_UTIL.FILE_WRITE_RAW 将二进制数据写入到文件中。 PKG_UTIL.FILE_FLUSH 将一个文件句柄中的数据写入到物理文件中。 PKG_UTIL.FILE_CLOSE 关闭一个打开的文件句柄。 PKG_UTIL.FILE_REMOVE 删除一个物理文件,操作需要有对应权限。 PKG_UTIL.FILE_RENAME 对于磁盘上的文件进行重命名,类似Unix的mv。 PKG_UTIL.FILE_SIZE 返回文件大小。 PKG_UTIL.FILE_BLOCK_SIZE 返回文件含有的块数量。 PKG_UTIL.FILE_EXISTS 判断文件是否存在。 PKG_UTIL.FILE_GETPOS 返回文件的偏移量,单位字节。 PKG_UTIL.FILE_SEEK 设置文件位置为指定偏移。 PKG_UTIL.FILE_CLOSE_ALL 关闭一个会话中打开的所有文件句柄。 PKG_UTIL.EXCEPTION_REPORT_ERROR 抛出一个异常。 PKG_UTIL.LOB_GET_LENGTH 该函数LOB_GET_LENGTH获取输入数据的长度。 PKG_UTIL.LOB_GET_LENGTH函数原型为: 1234 PKG_UTIL.LOB_GET_LENGTH(lob IN anyelement)RETURN INTEGER; 表2 PKG_UTIL.LOB_GET_LENGTH接口参数说明 参数 类型 入参/出参 是否可以为空 描述 lob clob/blob IN 否 待获取长度的对象。 PKG_UTIL.LOB_READ 该函数LOB_READ读取一个对象,并返回指定部分。 PKG_UTIL.LOB_READ函数原型为: 1234567 PKG_UTIL.LOB_READ(lob IN anyelement,len IN int,start IN int,mode IN int)RETURN ANYELEMENT 表3 PKG_UTIL.LOB_READ接口参数说明 参数 类型 入参/出参 是否可以为空 描述 lob clob/blob IN 否 clob或者blob类型数据。 len int IN 否 返回结果长度。 start int IN 否 相较于第一个字符的偏移量。 mode int IN 否 判断读取操作的类型, 0 :read; 1 : trim; 2 : substr。 PKG_UTIL.LOB_WRITE 该函数LOB_WRITE将源对象按照指定的参数写入目标对象, 并返回目标对象。 PKG_UTIL.LOB_WRITE函数原型为: 1234567 PKG_UTIL.LOB_WRITE(dest_lob INOUT anyelement,src_lob IN varchar2len IN int,start IN int)RETURN ANYELEMENT; 表4 PKG_UTIL.LOB_WRITE接口参数说明 参数 类型 入参/出参 是否可以为空 描述 dest_lob clob/blob INOUT 否 写入的目标对象。 src_lob clob/blob IN 否 被写入的源对象。 len int IN 否 源对象的写入长度。 start int IN 否 目标对象的写入起始位置。 PKG_UTIL.LOB_APPEND 该函数LOB_APPEND将源blob/clob对象追加到目标blob/clob对象, 并返回目标对象。 PKG_UTIL.LOB_APPEND函数原型为: 1 2 3 4 5 6 7 8 910111213 PKG_UTIL.LOB_APPEND(dest_lob INOUT blob,src_lob IN blob,len IN int default NULL)RETURN BLOB;PKG_UTIL.LOB_APPEND(dest_lob INOUT clob,src_lob IN clob,len IN int default NULL)RETURN CLOB; 表5 PKG_UTIL.LOB_APPEND接口参数说明 参数 类型 入参/出参 是否可以为空 描述 dest_lob blob/clob INOUT 否 写入的目标blob/clob对象。 src_lob blob/clob IN 否 被写入的源blob/clob对象。 len int IN 是 写入源对象的长度,为NULL则默认写入源对象全部。 PKG_UTIL.LOB_COMPARE 该函数LOB_COMPARE按照指定的起始位置、个数比较对象是否相同,lob1大则返回1,lob2大返回-1,相等返回0。 PKG_UTIL.LOB_COMPARE函数原型为: 12345678 PKG_UTIL.LOB_COMPARE(lob1 IN anyelement,lob2 IN anyelement,len IN int,start1 IN int,start2 IN int)RETURN INTEGER; 表6 PKG_UTIL.LOB_COMPARE接口参数说明 参数 类型 入参/出参 是否可以为空 描述 lob1 clob/blob IN 否 待比较的字符串。 lob2 clob/blob IN 否 待比较的字符串。 len int IN 否 比较的长度。 start1 int IN 否 lob1起始偏移量。 start2 int IN 否 lob2起始偏移量。 PKG_UTIL.LOB_MATCH 该函数LOB_MATCH返回pattern出现在lob对象中第match_nth次的位置。 PKG_UTIL.LOB_MATCH函数原型为: 1234567 PKG_UTIL.LOB_MATCH(lob IN anyelement,pattern IN anyelement,start IN int,match_nth IN int)RETURN INTEGER; 表7 PKG_UTIL.LOB_MATCH接口参数说明 参数 类型 入参/出参 是否可以为空 描述 lob clob/blob IN 否 待比较的字符串。 pattern clob/blob IN 否 待匹配的pattern。 start int IN 否 lob的起始比较位置。 match_nth int IN 否 第几次匹配到。 PKG_UTIL.LOB_RESET 该函数LOB_RESET清除一段数据为字符value。 PKG_UTIL.LOB_RESET函数原型为: 1234567 PKG_UTIL.LOB_RESET(lob IN bytea,len IN int,start IN int,value IN char default 0)RETURN record; 表8 PKG_UTIL.LOB_RESET接口参数说明 参数 类型 入参/出参 是否可以为空 描述 lob bytea IN 否 待重置的字符串。 len int IN 否 重置的长度。 start int IN 否 重置的起始位置。 value int IN 是 设置的字符。默认值‘0’。 PKG_UTIL.IO_PRINT 该函数IO_PRINT将一段字符串打印输出。 PKG_UTIL.IO_PRINT函数原型为: 12345 PKG_UTIL.IO_PRINT(format IN text,is_one_line IN boolean)RETURN void; 表9 PKG_UTIL.IO_PRINT接口参数说明 参数 类型 入参/出参 是否可以为空 描述 format text IN 否 待打印输出的字符串。 is_one_line boolean IN 否 是否输出为一行。 PKG_UTIL.RAW_GET_LENGTH 该函数RAW_GET_LENGTH获取raw的长度。 PKG_UTIL.RAW_GET_LENGTH函数原型为: 1234 PKG_UTIL.RAW_GET_LENGTH(value IN raw)RETURN integer; 表10 PKG_UTIL.RAW_GET_LENGTH接口参数说明 参数 类型 入参/出参 是否可以为空 描述 raw raw IN 否 待获取长度的对象。 PKG_UTIL.RAW_CAST_FROM_VARCHAR2 该函数RAW_CAST_FROM_VARCHAR2将varchar2转化为raw。 PKG_UTIL.RAW_CAST_FROM_VARCHAR2函数原型为: 1234 PKG_UTIL.RAW_CAST_FROM_VARCHAR2(str IN varchar2)RETURN raw; 表11 PKG_UTIL.RAW_CAST_FROM_VARCHAR2接口参数说明 参数 类型 入参/出参 是否可以为空 描述 str varchar2 IN 否 需要转化的源数据。 PKG_UTIL.CAST_FROM_BINARY_INTEGER 该函数CAST_FROM_BINARY_INTEGER将binary integer数据转化为raw 。 PKG_UTIL.CAST_FROM_BINARY_INTEGER函数原型为: 12345 PKG_UTIL.CAST_FROM_BINARY_INTEGER(value IN integer,endianess IN integer)RETURN raw; 表12 PKG_UTIL.CAST_FROM_BINARY_INTEGER接口参数说明 参数 类型 入参/出参 是否可以为空 描述 value integer IN 否 需要转化为raw的源数据。 endianess integer IN 否 表示字节序的整型值1或2(1代表BIG_ENDIAN,2代表LITTLE-ENDIAN)。 PKG_UTIL.CAST_TO_BINARY_INTEGER 该函数CAST_TO_BINARY_INTEGER将raw数据转化为binary integer 。 PKG_UTIL.CAST_TO_BINARY_INTEGER函数原型为: 12345 PKG_UTIL.CAST_TO_BINARY_INTEGER(value IN raw,endianess IN integer)RETURN integer; 表13 PKG_UTIL.CAST_TO_BINARY_INTEGER接口参数说明 参数 类型 入参/出参 是否可以为空 描述 value raw IN 否 需要转化为binary integer的raw类型源数据。 endianess integer IN 否 表示字节序的整型值1或2(1代表BIG_ENDIAN,2代表LITTLE-ENDIAN)。 PKG_UTIL.SET_RANDOM_SEED 该函数SET_RANDOM_SEED设置随机数种子。 PKG_UTIL.SET_RANDOM_SEED函数原型为: 1234 PKG_UTIL.RANDOM_SET_SEED(seed IN int)RETURN integer; 表14 PKG_UTIL.SET_RANDOM_SEED接口参数说明 参数 类型 入参/出参 是否可以为空 描述 seed int IN 否 随机数种子。 PKG_UTIL.RANDOM_GET_VALUE 该函数RANDOM_GET_VALUE返回0~1区间的一个随机数。 PKG_UTIL.RANDOM_GET_VALUE函数原型为: 123 PKG_UTIL.RANDOM_GET_VALUE()RETURN numeric; PKG_UTIL.FILE_SET_DIRNAME 设置当前操作的目录,基本上所有涉及单个目录的操作,都需要调用此方法先设置操作的目录。 PKG_UTIL.FILE_SET_DIRNAME函数原型为: 1234 PKG_UTIL.FILE_SET_DIRNAME(dir IN text)RETURN bool 表15 PKG_UTIL.FILE_SET_DIRNAME接口参数说明 参数 描述 dirname 文件的目录位置,这个字符串是一个目录对象名。 说明: 文件目录的位置,需要添加到系统表PG_DIRECTORY中,如果传入的路径和PG_DIRECTORY中的路径不匹配,会报路径不存在的错误, 下面的涉及location作为参数的函数也是同样的情况。 PKG_UTIL.FILE_OPEN 该函数用来打开一个文件,最多可以同时打开50个文件。并且该函数返回INTEGER类型的一个句柄。 PKG_UTIL.FILE_OPEN函数原型为: 123 PKG_UTIL.FILE_OPEN(file_name IN text, open_mode IN integer) 表16 PKG_UTIL.FILE_OPEN接口参数说明 参数 描述 file_name 文件名,包含扩展(文件类型),不包括路径名。如果文件名中包含路径,在OPEN中会被忽略,在Unix系统中,文件名不能以/.结尾。 open_mode 指定文件的打开模式,包含r:read text,w: write text和a: append text。 说明: 对于写操作,会检测文件类型,如果写入elf文件,将会报错并退出。 PKG_UTIL.FILE_SET_MAX_LINE_SIZE 设置写入文件一行的最大长度。 PKG_UTIL.FILE_SET_MAX_LINE_SIZE函数原型为: 123 PKG_UTIL.FILE_SET_MAX_LINE_SIZE(max_line_size in integer)RETURN BOOL 表17 PKG_UTIL.FILE_SET_MAX_LINE_SIZE接口参数说明 参数 描述 max_line_size 每行最大字符数,包含换行符(最小值是1,最大值是32767)。如果没有指定,会指定一个默认值1024。 PKG_UTIL.FILE_IS_CLOSE 检测一个文件句柄是否关闭。 PKG_UTIL.FILE_IS_CLOSE函数原型为: 1234 PKG_UTIL.FILE_IS_CLOSE(file in integer)RETURN BOOL 表18 PKG_UTIL.FILE_IS_CLOSE接口参数说明 参数 描述 file 一个打开的文件句柄。 PKG_UTIL.FILE_READ 根据指定的长度从一个打开的文件句柄中读取出数据。 PKG_UTIL.FILE_READ函数原型为: 1234 PKG_UTIL.FILE_READ(file IN integer,buffer OUT text,len IN integer) 表19 PKG_UTIL.FILE_READ接口参数说明 参数 描述 file 通过调用OPEN打开的文件句柄,文件必须以读的模式打开,否则会抛出INVALID_OPERATION的异常。 buffer 用于接收数据的BUFFER。 len 从文件中读取的字节数。 PKG_UTIL.FILE_READLINE 根据指定的长度从一个打开的文件句柄中读取出一行数据。 PKG_UTIL.FILE_READLINE函数原型为: 1234 PKG_UTIL.FILE_READLINE(file IN integer,buffer OUT text,len IN integer default 1024) 表20 PKG_UTIL.FILE_READLINE接口参数说明 参数 描述 file 通过调用OPEN打开的文件句柄,文件必须以读的模式打开,否则会抛出INVALID_OPERATION的异常。 buffer 用于接收数据的BUFFER。 len 从文件中读取的字节数,默认是NULL。如果是默认NULL,会使用max_line_size来指定大小。 PKG_UTIL.FILE_WRITE 将BUFFER中指定的数据写入到文件中。 PKG_UTIL.FILE_WRITE函数原型为: 12345 PKG_UTIL.FILE_WRITE(file in integer,buffer in text)RETURN BOOL 表21 PKG_UTIL.FILE_WRITE接口参数说明 参数 描述 file 一个打开的文件句柄。 buffer 要写入文件的文本数据,BUFFER的最大值是32767个字节。如果没有指定值,默认是1024个字节,没有刷新到文件之前,一系列的PUT操作的BUFFER总和不能超过32767个字节。 说明: 对于写操作,会检测文件类型,如果写入elf文件,将会报错并退出。 PKG_UTIL.FILE_NEWLINE 向一个打开的文件中写入一个行终结符。行终结符和平台相关。 PKG_UTIL.FILE_NEWLINE函数原型为: 1234 PKG_UTIL.FILE_WRITELINE(file in integer)RETURN BOOL 表22 PKG_UTIL.FILE_NEWLINE接口参数说明 参数 描述 file 一个打开的文件句柄。 PKG_UTIL.FILE_READ_RAW 从一个打开的文件句柄中读取指定长度的二进制数据,返回读取的二进制数据,返回类型为raw。 PKG_UTIL.FILE_READ_RAW函数原型为: 12345 PKG_UTIL.FILE_READ_RAW(file in integer,length in integer default NULL)RETURN raw 表23 PKG_UTIL.FILE_READ_RAW接口参数说明 参数 描述 file 一个打开的文件句柄。 length 要读取的长度,默认为NULL。默认情况下读取文件中所有数据,最大为1G。 PKG_UTIL.FILE_WRITE_RAW 向一个打开的文件中写入传入二进制对象RAW。插入成功返回true。 PKG_UTIL.FILE_WRITE_RAW函数原型为: 12345 PKG_UTIL.FILE_WRITE_RAW(file in integer,r in raw)RETURN BOOL 表24 PKG_UTIL.FILE_NEWLINE接口参数说明 参数 描述 file 一个打开的文件句柄。 r 准备传入文件的数据 说明: 对于写操作,会检测文件类型,如果写入elf文件,将会报错并退出。 PKG_UTIL.FILE_FLUSH 一个文件句柄中的数据要写入到物理文件中,缓冲区中的数据必须要有一个行终结符。当文件必须在打开时读取,刷新非常有用。例如,调试信息可以刷新到文件中,以便立即读取。 PKG_UTIL.FILE_FLUSH函数原型为: 1234 PKG_UTIL.FILE_FLUSH(file in integer)RETURN VOID 表25 PKG_UTIL.FILE_FLUSH接口参数说明 参数 描述 file 一个打开的文件句柄。 PKG_UTIL.FILE_CLOSE 关闭一个打开的文件句柄。 PKG_UTIL.FILE_CLOSE函数原型为: 1234 PKG_UTIL.FILE_CLOSE(file in integer)RETURN BOOL 表26 PKG_UTIL.FILE_CLOSE接口参数说明 参数 描述 file 一个打开的文件句柄。 PKG_UTIL.FILE_REMOVE 删除一个磁盘文件,操作的时候需要有充分的权限。 PKG_UTIL.FILE_REMOVE函数原型为: 1234 PKG_UTIL.FILE_REMOVE(file_name in text)RETURN VOID 表27 PKG_UTIL.FILE_REMOVE接口参数说明 参数 描述 filen_ame 要删除的文件名 PKG_UTIL.FILE_RENAME 对于磁盘上的文件进行重命名,类似Unix的mv。 PKG_UTIL.FILE_RENAME函数原型为: 123456 PKG_UTIL.FILE_RENAME(text src_dir in text, text src_file_name in text, text dest_dir in text, text dest_file_name in text, overwrite boolean default false) 表28 PKG_UTIL.FILE_RENAME接口参数说明 参数 描述 src_dir 源文件目录(大小写敏感)。 src_file_name 源文件名。 dest_dir 目标文件目录(大小写敏感)。 dest_file_name 目标文件名。 overwrite 默认是false,如果目的目录下存在一个同名的文件,不会进行重写。 PKG_UTIL.FILE_SIZE 返回指定的文件大小。 PKG_UTIL.FILE_SIZE函数原型为: 123 bigint PKG_UTIL.FILE_SIZE(file_name in text) 表29 PKG_UTIL.FILE_SIZE接口参数说明 参数 描述 file_name 文件名 PKG_UTIL.FILE_BLOCK_SIZE 返回指定的文件含有的块数量。 PKG_UTIL.FILE_BLOCK_SIZE函数原型为: 123 bigint PKG_UTIL.FILE_BLOCK_SIZE(file_name in text) 表30 PKG_UTIL.FILE_BLOCK_SIZE接口参数说明 参数 描述 file_name 文件名 PKG_UTIL.FILE_EXISTS 判断指定的文件是否存在。 PKG_UTIL.FILE_EXISTS函数原型为: 1234 PKG_UTIL.FILE_EXISTS(file_name in text)RETURN BOOL 表31 PKG_UTIL.FILE_EXISTS接口参数说明 参数 描述 file_name 文件名 PKG_UTIL.FILE_GETPOS 返回文件的偏移量,单位字节。 PKG_UTIL.FILE_GETPOS函数原型为: 1234 PKG_UTIL.FILE_GETPOS(file in integer )RETURN BIGINT 表32 PKG_UTIL.FILE_GETPOS接口参数说明 参数 描述 file 一个打开的文件句柄。 PKG_UTIL.FILE_SEEK 根据用户指定的字节数向前或者向后调整文件指针的位置。 PKG_UTIL.FILE_SEEK函数原型为: 12345 void PKG_UTIL.FILE_SEEK(file in integer,start in bigint default null)RETURN VOID 表33 PKG_UTIL.FILE_SEEK接口参数说明 参数 描述 file 一个打开的文件句柄。 start 文件偏移,字节。 PKG_UTIL.FILE_CLOSE_ALL 关闭一个会话中打开的所有的文件句柄。 PKG_UTIL.FILE_CLOSE_ALL函数原型为: PKG_UTIL.FILE_CLOSE_ALL()RETURN VOID↵ 表34 PKG_UTIL.FILE_CLOSE_ALL接口参数说明 参数 描述 无 无 PKG_UTIL.EXCEPTION_REPORT_ERROR 抛出一个异常。 PKG_UTIL.EXCEPTION_REPORT_ERROR函数原型为: 123456 PKG_UTIL.EXCEPTION_REPORT_ERROR(code integer,log text,flag boolean DEFAULT false)RETURN INTEGER 表35 PKG_UTIL.EXCEPTION_REPORT_ERROR接口参数说明 参数 描述 code 抛异常所打印的错误码。 log 抛异常所打印的日志提示信息。 flag 保留字段,默认为false。 父主题: 基础接口
共100000条