华为云用户手册

  • OS_THREADS 提供当前节点下所有线程的状态信息,如表1所示。多租场景下,non-PDB访问该视图时返回全部信息,PDB访问该视图时仅返回该PDB相关信息。 表1 OS_THREADS字段 名称 类型 描述 node_name text 当前节点的名称。 pid bigint 当前节点进程中正在运行的线程号。 lwpid integer 与pid对应的轻量级线程号。 thread_name text 与pid对应的线程名称。 creation_time timestamp with time zone 与pid对应的线程创建的时间。 dbid oid 线程所属的数据库id。 父主题: OS
  • SUMMARY_STATIO_SYS_TABLES SUMMARY_STATIO_SYS_TABLES视图显示数据库内各节点的系统表的I/O状态汇总信息,如表1所示。 表1 SUMMARY_STATIO_SYS_TABLES字段 名称 类型 描述 schemaname name 该表模式名。 relname name 表名。 heap_blks_read numeric 从该表中读取的磁盘块数。 heap_blks_hit numeric 此表缓存命中数。 idx_blks_read numeric 从表中所有索引读取的磁盘块数。 idx_blks_hit numeric 表中所有索引命中缓存数。 toast_blks_read numeric 此表的TOAST表读取的磁盘块数(如果存在)。 toast_blks_hit numeric 此表的TOAST表命中缓冲区数(如果存在)。 tidx_blks_read numeric 此表的TOAST表索引读取的磁盘块数(如果存在)。 tidx_blks_hit numeric 此表的TOAST表索引命中缓冲区数(如果存在)。 父主题: Cache/IO
  • PG_STAT_USER_FUNCTIONS PG_STAT_USER_FUNCTIONS视图显示命名空间中用户自定义函数(函数语言为非内部语言)的状态信息。 表1 PG_STAT_USER_FUNCTIONS字段 名称 类型 描述 funcid oid 函数标识。 schemaname name 模式的名称。 funcname name 函数名称。 calls bigint 函数被调用的次数。 total_time double precision 函数的总执行时长。 self_time double precision 当前线程调用函数的总的时长。 父主题: 其他系统视图
  • PG_OPERATOR PG_OPERATOR系统表存储有关操作符的信息。 表1 PG_OPERATOR字段 名称 类型 引用 描述 oid oid - 行标识符(隐含属性,必须明确选择)。 oprname name - 操作符的名称。 oprnamespace oid PG_NAMESPACE.oid 包含此操作符的名称空间的OID。 oprowner oid PG_AUTHID.oid 操作符所有者。 oprkind "char" - b:表示中缀(“两边”)。 l:表示前缀(“左边”)。 r:表示后缀(“右边”)。 oprcanmerge boolean - 这个操作符是否支持合并连接。 t(true):表示支持合并连接。 f(false):表示不支持合并连接。 oprcanhash boolean - 这个操作符是否支持Hash连接。 t(true):表示支持Hash连接。 f(false):表示不支持Hash连接。 oprleft oid PG_TYPE.oid 左操作数的类型。 oprright oid PG_TYPE.oid 右操作数的类型。 oprresult oid PG_TYPE.oid 结果类型。 oprcom oid PG_OPERATOR.oid 如果存在的话,值为此操作符的交换符。不存在的话,值为0。 oprnegate oid PG_OPERATOR.oid 如果存在的话,值为此操作符的反转器。不存在的话,值为0。 oprcode regproc PG_PROC.proname 实现这个操作符的函数。 oprrest regproc PG_PROC.proname 此操作符的约束选择性计算函数。 oprjoin regproc PG_PROC.proname 此操作符的连接选择性计算函数。 父主题: 其他系统表
  • 数据库连接控制函数 数据库连接控制函数控制与数据库服务器的连接。一个应用程序一次可以与多个服务器建立连接,如一个客户端连接多个数据库的场景。支持每个连接都是用一个从函数PQconnectdb、PQconnectdbParams或PQsetdbLogin获得的PGconn对象表示。也可以支持PQconnectStart接口结合异步PQconnectPoll轮询方式获得连接对象。注意,这些函数总是返回一个非空的对象指针,除非内存分配失败,会返回一个空的指针。连接建立的接口保存在PGconn对象中,可以调用PQstatus函数来检查返回值查看连接是否成功。由于PGconn对象将SSL上下文存储在线程本地,所以PGconn的释放线程应与申请线程一致。 PQconnectdbParams PQconnectdb PQconninfoParse PQconnectStart PQerrorMessage PQsetdbLogin PQfinish PQreset PQstatus 父主题: libpq接口参考
  • MY_TABLESPA CES MY_TABLESPACES视图显示用户拥有存储对象的表空间的描述信息。默认所有用户都可以访问。该视图同时存在于PG_CATA LOG 和SYS Schema下。A数据库与 GaussDB 逻辑结构特性不一致。 表1 MY_TABLESPACES字段 名称 类型 描述 tablespace_name character varying(64) 表空间名称。 block_size numeric 暂不支持,值为NULL。 initial_extent numeric 暂不支持,值为NULL。 next_extent numeric 暂不支持,值为NULL。 min_extents numeric 暂不支持,值为NULL。 max_extents numeric 暂不支持,值为NULL。 max_size numeric 暂不支持,值为NULL。 pct_increase numeric 暂不支持,值为NULL。 min_extlen numeric 暂不支持,值为NULL。 contents character varying(9) 暂不支持,值为NULL。 status character varying(9) 表空间状态,默认为ONLINE(在线)。 logging character varying(9) 暂不支持,值为NULL。 force_logging character varying(3) 暂不支持,值为NULL。 extent_management character varying(10) 暂不支持,值为NULL。 allocation_type character varying(9) 暂不支持,值为NULL。 segment_space_management character varying(6) 暂不支持,值为NULL。 def_tab_compression character varying(8) 暂不支持,值为NULL。 retention character varying(11) 暂不支持,值为NULL。 bigfile character varying(3) 暂不支持,值为NULL。 predicate_evaluation character varying(7) 暂不支持,值为NULL。 encrypted character varying(3) 暂不支持,值为NULL。 compress_for character varying(30) 暂不支持,值为NULL。 def_inmemory character varying(8) 暂不支持,值为NULL。 def_inmemory_priority character varying(8) 暂不支持,值为NULL。 def_inmemory_distribute character varying(15) 暂不支持,值为NULL。 def_inmemory_compression character varying(17) 暂不支持,值为NULL。 def_inmemory_duplicate character varying(13) 暂不支持,值为NULL。 shared character varying(12) 暂不支持,值为NULL。 def_index_compression character varying(8) 暂不支持,值为NULL。 index_compress_for character varying(13) 暂不支持,值为NULL。 def_cellmemory character varying(14) 暂不支持,值为NULL。 def_inmemory_service character varying(12) 暂不支持,值为NULL。 def_inmemory_service_name character varying(1000) 暂不支持,值为NULL。 lost_write_protect character varying(7) 暂不支持,值为NULL。 chunk_tablespace character varying(1) 暂不支持,值为NULL。 父主题: 其他系统视图
  • javax.naming.Context javax.naming.Context是连接配置的上下文接口。 表1 对javax.naming.Context的支持情况 方法名 返回值类型 支持JDBC4 支持计划外ALT bind(Name name, Object obj) void Yes Yes bind(String name, Object obj) void Yes Yes lookup(Name name) Object Yes Yes lookup(String name) Object Yes Yes rebind(Name name, Object obj) void Yes Yes rebind(String name, Object obj) void Yes Yes rename(Name oldName, Name newName) void Yes Yes rename(String oldName, String newName) void Yes Yes unbind(Name name) void Yes Yes unbind(String name) void Yes Yes 父主题: JDBC接口参考
  • 参数 表1 SQLAllocHandle参数 关键字 参数说明 HandleType 由SQLAllocHandle分配的句柄类型。必须为下列值之一: SQL_HANDLE_ENV(环境句柄) SQL_HANDLE_DBC(连接句柄) SQL_HANDLE_STMT(语句句柄) SQL_HANDLE_DESC(描述句柄) 申请句柄顺序为,先申请环境句柄,再申请连接句柄,最后申请语句句柄。后申请的句柄依赖它前面申请的句柄。 InputHandle 将要分配的新句柄的类型。InputHandle参数用于指定创建句柄的父句柄,以建立句柄之间的层次关系。不同类型的句柄有不同的层次关系,InputHandle参数用于指定这种关系。 如果HandleType为SQL_HANDLE_ENV,则该值为SQL_NULL_HANDLE,表示没有父句柄。 如果HandleType为SQL_HANDLE_DBC,则它一定是一个环境句柄,表示该连接句柄是在该环境下创建的。 如果HandleType为SQL_HANDLE_STMT或SQL_HANDLE_DESC,则它一定是一个连接句柄,表示该语句句柄是在该连接下创建的。 OutputHandlePtr 输出参数:OutputHandlePtr是一个指向SQLHANDLE类型的指针,用于返回分配的新句柄。
  • 注意事项 当分配的句柄并非环境句柄时,如果SQLAllocHandle返回的值为SQL_ERROR,则它会将OutputHandlePtr的值设置为SQL_NULL_HDBC、SQL_NULL_HSTMT或SQL_NULL_HDESC。之后,通过调用带有适当参数的SQLGetDiagRec,其中HandleType和Handle被设置为IntputHandle的值,可得到相关的SQLSTATE值,通过SQLSTATE值可以查出调用此函数的具体信息。
  • 参数说明 client_master_key_name 该参数作为密钥对象名,在同一命名空间下,需满足命名唯一性约束。 取值范围:字符串,需符合标识符命名规范。 KEY_STORE 外部密钥管理者。取值见表1。 当KEY_STORE为user_token时,无需用户提供KEY_PATH参数。 KEY_PATH 由外部密钥管理者管理某个的密钥,不同密钥管理者格式不同。取值为字符串,详见表1。字符串由单引号或双引号包含,如果字符串长度超过64,则只能使用单引号包含。 ALGORITHM 密钥用于何种加密算法。取值见表1。 表1 针对不同密钥管理者的参数值 KEY_STORE KEY_PATH ALGORITHM huawei_kms 格式:‘{KmsApiUrl}/{密钥ID}' 参考:'https://kms.{项目}.myhuaweicloud.com/v1.0/{项目ID}/kms/{密钥ID}' 示例:'https://kms.cn-north-4.myhuaweicloud.com/v1.0/00000000000000000000000000000000/kms/00000000-0000-0000-0000-000000000000' AES_256 SM4 user_token 不需用户提供KEY_PATH AES_256_CBC AES_256_GCM SM4
  • 算子级调优介绍 一个查询语句要经过多个算子步骤才会输出最终的结果。由于个别算子耗时过长导致整体查询性能下降的情况比较常见。这些算子是整个查询的瓶颈算子。通用的优化手段是EXPLAIN ANALYZE/PERFORMANCE命令查看执行过程的瓶颈算子,然后进行针对性优化。 如下面的执行过程信息中,Hashagg算子的执行时间占总时间的:(51016-13535)/ 56476 ≈66%,此处Hashagg算子就是这个查询的瓶颈算子,在进行性能优化时应当优先考虑此算子的优化。
  • PG_CONVERSION PG_CONVERSION系统表描述编码转换信息。 表1 PG_CONVERSION字段 名称 类型 引用 描述 oid oid - 行标识符(隐含属性,必须明确选择)。 conname name - 转换名称(在一个名称空间里是唯一的)。 connamespace oid PG_NAMESPACE.oid 包含这个转换的名称空间的OID。 conowner oid PG_AUTHID.oid 编码转换的属主。 conforencoding integer - 源编码ID。 contoencoding integer - 目的编码ID。 conproc regproc PG_PROC.proname 转换过程。 condefault boolean - 如果这是缺省转换则为真,否则为假。 父主题: 其他系统表
  • 参数说明 cursor_name 将要创建的游标名。 取值范围:遵循数据库对象命名规范。 BINARY 指明游标以二进制而不是文本格式返回数据。 NO SCROLL 声明游标检索数据行的方式。 NO SCROLL:声明该游标不能用于以倒序的方式检索数据行。 未声明:根据执行计划的不同,自动判断该游标是否可以用于以倒序的方式检索数据行。 在cmdsql中,只支持添加NO SCROLL关键字或者不添加滚动选项,不支持添加SCROLL关键字。 在存储过程中,支持添加NO SCROLL、SCROLL关键字,或者不添加滚动选项。 显式游标中,只有声明为NO SCROLL的游标可以并发执行,建议将不需要用到倒序检索数据行方式的游标设置为NO SCROLL。 WITH HOLD | WITHOUT HOLD 声明当创建游标的事务结束后,游标是否能继续使用。 WITH HOLD:声明该游标在创建它的事务结束后仍可继续使用。 WITHOUT HOLD:声明该游标在创建它的事务之外不能再继续使用,此游标将在事务结束时被自动关闭。 如果不指定WITH HOLD或WITHOUT HOLD,默认行为是WITHOUT HOLD。 query 使用SELECT或VALUES子句指定游标返回的行。 取值范围:SELECT或VALUES子句。
  • 示例 示例1: --建表并插入数据。 gaussdb=# CREATE TABLE tbl_test(c1 int); gaussdb=# INSERT INTO tbl_test VALUES (generate_series(1,20)); --建立一个名为cursor1的游标。 gaussdb=# BEGIN; gaussdb=# CURSOR cursor1 FOR SELECT * FROM tbl_test ORDER BY 1; --使用FETCH命令检索3行数据。 gaussdb=# FETCH FORWARD 3 FROM cursor1; c1 ---- 1 2 3 (3 rows) --使用MOVE命令使游标向后移动2行,不返回结果。 gaussdb=# MOVE FORWARD 2 FROM cursor1; MOVE 2 --使用FETCH命令检索两行数据。 gaussdb=# FETCH FORWARD 2 FROM cursor1; c1 ---- 6 7 (2 rows) --关闭游标并结束事务。 gaussdb=# CLOSE cursor1; gaussdb=# END; 示例2:带WITH HOLD属性的游标 --建立一个名为cursor2的WITH HOLD游标。 gaussdb=# BEGIN; gaussdb=# CURSOR cursor2 WITH HOLD FOR SELECT * FROM tbl_test ORDER BY 1; --使用FETCH命令检索3行数据。 gaussdb=# FETCH FORWARD 3 FROM cursor2; c1 ---- 1 2 3 (3 rows) --和普通的游标不一样,结束事务后,带WITH HOLD属性的游标依然可以使用。 gaussdb=# END; gaussdb=# FETCH FORWARD 2 FROM cursor2; c1 ---- 4 5 (2 rows) --关闭游标。 gaussdb=# CLOSE cursor2; --删除。 gaussdb=# DROP TABLE tbl_test;
  • 注意事项 游标命令只能在事务块里使用。 通常游标和SELECT一样返回文本格式。因为数据在系统内部是用二进制格式存储的,系统必须对数据做一定转换以生成文本格式。一旦数据是以文本形式返回,客户端应用需要把它们转换成二进制进行操作。使用FETCH语句,游标可以返回文本或二进制格式。 应该小心使用二进制游标。文本格式一般都比对应的二进制格式占用的存储空间大。二进制游标返回内部二进制形态的数据,可能更易于操作。如果想以文本方式显示数据,则以文本方式检索会为用户节约很多客户端的工作。比如,如果查询从某个整数列返回1,在缺省的游标里将获得一个字符串1,但在二进制游标里将得到一个4字节的包含该数值内部形式的数值(大端顺序)。 静态游标支持定义参数,参数支持默认值。但是参数默认值不能应用PACKAGE外的变量,如果需要使用,可以在包内定义一个变量,再将包外变量赋值给该变量,使用该变量作为默认值。 游标的定义会产生查询对象,PACKAGE或存储过程暂不支持建立对查询对象的依赖关系。
  • 示例 --建表。 gaussdb=# CREATE TABLE emp( empno varchar(7), ename varchar(50), job varchar(50), mgr varchar(7), deptno int ); --表添加注释。 gaussdb=# COMMENT ON TABLE emp IS '部门表'; --字段添加注释。 gaussdb=# COMMENT ON COLUMN emp.empno IS '员工编号'; gaussdb=# COMMENT ON COLUMN emp.ename IS '员工姓名'; gaussdb=# COMMENT ON COLUMN emp.job IS '职务'; gaussdb=# COMMENT ON COLUMN emp.mgr IS '上司编号'; gaussdb=# COMMENT ON COLUMN emp.deptno IS '部门编号'; --查看表的注释。 gaussdb=# \d+ List of relations Schema | Name | Type | Owner | Size | Storage | Description --------+------+-------+-------+---------+------------------------------------------------------------------+------------- public | emp | table | omm | 0 bytes | {orientation=row,compression=no,storage_type=USTORE,segment=off} | 部门表 (1 row) --查看字段注释。 gaussdb=# \d+ emp Table "public.emp" Column | Type | Modifiers | Storage | Stats target | Description --------+-----------------------+-----------+----------+--------------+------------- empno | character varying(7) | | extended | | 员工编号 ename | character varying(50) | | extended | | 员工姓名 job | character varying(50) | | extended | | 职务 mgr | character varying(7) | | extended | | 上司编号 deptno | integer | | plain | | 部门编号 Has OIDs: no Options: orientation=row, compression=no, storage_type=USTORE, segment=off --删除表emp。 gaussdb=# DROP TABLE emp;
  • 语法格式 COMMENT ON { AGGREGATE agg_name (agg_type [, ...] ) | CAST (source_type AS target_type) | COLLATION object_name | COLUMN { table_name.column_name | view_name.column_name } | CONSTRAINT constraint_name ON table_name | CONVERSION object_name | DATABASE object_name | DOMAIN object_name | EXTENSION object_name | FOREIGN DATA WRAPPER object_name | FOREIGN TABLE object_name | FUNCTION function_name ( [ {[ argname ] [ argmode ] argtype} [, ...] ] ) | INDEX object_name | OPERATOR operator_name (left_type, right_type) | OPERATOR CLASS object_name USING index_method | OPERATOR FAMILY object_name USING index_method | [ PROCEDURAL ] LANGUAGE object_name | ROLE object_name | RULE rule_name ON table_name | SCHEMA object_name | SERVER object_name | TABLE object_name | TABLESPACE object_name | TEXT SEARCH CONFIGURATION object_name | TEXT SEARCH DICTIONARY object_name | TEXT SEARCH PARSER object_name | TEXT SEARCH TEMPLATE object_name | TYPE object_name | VIEW object_name | TRIGGER trigger_name ON table_name } IS 'text';
  • 参数说明 agg_name 聚集函数的名称。 agg_type 聚集函数参数的类型。 source_type 类型转换的源数据类型。 target_type 类型转换的目标数据类型。 object_name 对象名。 table_name.column_name view_name.column_name 列名称。前缀可加表名称或者视图名称。 constraint_name 表约束的名称。 table_name 表的名称。 function_name 函数名称。 argname,argmode,argtype 函数参数的名称、模式、类型。 large_object_oid 大对象的OID。 operator_name 操作符名称。 left_type,right_type 操作参数的数据类型(可以用模式修饰)。当前置或者后置操作符不存在时,可以增加NONE选项。 trigger_name 触发器名称。 text 注释。
  • 注意事项 每个对象只存储一条注释,因此要修改一个注释,对同一个对象发出一条新的COMMENT命令即可。要删除注释,在文本字符串的位置写上NULL即可。当删除对象时,注释自动被删除。 目前注释浏览没有安全机制,任何连接到某数据库上的用户都可以看到所有该数据库对象的注释。共享对象(比如数据库、角色、表空间)的注释是全局存储的,连接到任何数据库的任何用户都可以看到它们。因此,不要在注释里存放与安全有关的敏感信息。 对大多数对象,只有对象的所有者或者被授予了对象COMMENT权限的用户可以设置注释,系统管理员默认拥有该权限。 角色没有所有者,所以COMMENT ON ROLE命令仅可以由系统管理员对系统管理员角色执行,有CREATE ROLE权限的角色也可以为非系统管理员角色设置注释。系统管理员可以对所有对象进行注释。 不支持在PDB内执行COMMENT ON DATABASE语句。
  • SESSION_MEMORY_DETAIL 统计线程的内存使用情况,以MemoryContext粒度来统计当前节点的内存,如表1所示。多租场景下,non-PDB访问该视图时返回全部信息,PDB访问该视图时仅返回该PDB相关信息。 表1 SESSION_MEMORY_DETAIL字段 名称 类型 描述 sessid text 线程启动时间+线程标识。 sesstype text 线程名称。 contextname text 内存上下文名称。 level smallint 内存上下文的重要级别。 parent text 父级内存上下文名称。 totalsize bigint 总申请内存大小(单位:字节)。 freesize bigint 空闲内存大小(单位:字节)。 usedsize bigint 使用内存大小(单位:字节)。 父主题: Session/Thread
  • DB4AI.PURGE_SNAPSHOT PURGE_SNAPSHOT是DB4AI特性用于删除快照的接口函数,如表1所示。通过语法PURGE SNAPSHOT调用。 表1 DB4AI.PURGE_SNAPSHOT入参和返回值列表 参数 类型 描述 i_schema IN NAME 快照存储的模式名字。 i_name IN NAME 快照名称。 res OUT db4ai.snapshot_name 结果。 父主题: DB4AI Schema
  • 背景信息 GaussDB数据库 支持的分区表为范围分区表、间隔分区表、列表分区表和哈希分区表。 范围分区表:将数据基于范围映射到每一个分区,这个范围是由创建分区表时指定的分区键决定的。这种分区方式被广泛应用,并且分区键经常采用日期,例如将销售数据按照月份进行分区。 间隔分区表:是一种特殊的范围分区表,相比范围分区表,新增间隔值定义,当插入记录找不到匹配的分区时,可以根据间隔值自动创建分区。 列表分区表:将数据中包含的键值分别存储在不同的分区中,依次将数据映射到每一个分区,分区中包含的键值由创建分区表时指定。 哈希分区表:将数据根据内部哈希算法依次映射到每一个分区中,包含的分区个数由创建分区表时指定。 分区表和普通表相比具有以下优点: 改善查询性能:对分区对象的查询可以仅搜索与查询条件匹配的分区数据,提高检索效率。 增强可用性:如果分区表的某个分区出现故障,表在其他分区的数据仍然可用。 方便维护:如果分区表的某个分区出现故障,需要修复数据,只修复该分区即可。 普通表若要转成分区表,需要新建分区表,然后把普通表中的数据导入到新建的分区表中。因此在初始设计表时,请根据业务提前规划是否使用分区表。
  • 示例 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 --查看现有预备语句。 gaussdb=# SELECT name, statement, parameter_types FROM pg_prepared_statements; name | statement | parameter_types ------+-----------+----------------- (0 rows) --创建q1,q2,q3,q4四个预备语句。 gaussdb=# PREPARE q1 AS SELECT 1 AS a; PREPARE gaussdb=# PREPARE q2 AS SELECT 1 AS a; PREPARE gaussdb=# PREPARE q3 AS SELECT 1 AS a; PREPARE gaussdb=# PREPARE q4 AS SELECT 1 AS a; PREPARE --再次查看现有预备语句。 gaussdb=# SELECT name, statement, parameter_types FROM pg_prepared_statements; name | statement | parameter_types ------+------------------------------+----------------- q1 | PREPARE q1 AS SELECT 1 AS a; | {} q4 | PREPARE q4 AS SELECT 1 AS a; | {} q3 | PREPARE q3 AS SELECT 1 AS a; | {} q2 | PREPARE q2 AS SELECT 1 AS a; | {} (4 rows) --删除q4预备语句并查看剩余预备语句。 gaussdb=# DEALLOCATE q4; gaussdb=# SELECT name, statement, parameter_types FROM pg_prepared_statements; name | statement | parameter_types ------+------------------------------+----------------- q1 | PREPARE q1 AS SELECT 1 AS a; | {} q3 | PREPARE q3 AS SELECT 1 AS a; | {} q2 | PREPARE q2 AS SELECT 1 AS a; | {} (3 rows) --删除所有预备语句并查看剩余预备语句。 gaussdb=# DEALLOCATE ALL; DEALLOCATE ALL gaussdb=# SELECT name, statement, parameter_types FROM pg_prepared_statements; name | statement | parameter_types ------+-----------+----------------- (0 rows)
  • SUMMARY_STAT_USER_TABLES 显示数据库各节点所有Schema中用户自定义普通表的状态信息的汇总求和结果(其中timestamp类型字段不进行求和,仅取所有节点该字段的最新值),如表1所示。 表1 SUMMARY_STAT_USER_TABLES 名称 类型 描述 schemaname name 此表所在的Schema名。 relname name 表名。 seq_scan numeric 此表发起的顺序扫描数。 seq_tup_read numeric 顺序扫描抓取的活跃行数。 idx_scan numeric 此表发起的索引扫描数。 idx_tup_fetch numeric 索引扫描抓取的活跃行数。 n_tup_ins numeric 插入行数。 n_tup_upd numeric 更新行数。 n_tup_del numeric 删除行数。 n_tup_hot_upd numeric HOT更新行数(即没有更新索引列的行数)。 n_live_tup numeric 估计活跃行数。 n_dead_tup numeric 估计不活跃行数。在Ustore表中仅代表不活跃行指针数量。 last_vacuum timestamp with time zone 最后一次此表是手动清理的(不计算VACUUM FULL)时间。 last_autovacuum timestamp with time zone 上次被autovacuum守护线程清理的时间。 last_analyze timestamp with time zone 上次手动分析这个表的时间。 last_autoanalyze timestamp with time zone 上次被autovacuum守护线程分析的时间。 vacuum_count numeric 这个表被手动清理的次数(不计算VACUUM FULL)。 autovacuum_count numeric 这个表被autovacuum清理的次数。 analyze_count numeric 这个表被手动分析的次数。 autoanalyze_count numeric 这个表被autovacuum守护线程分析的次数。 父主题: Object
  • DB_DEPENDENCIES DB_DEPENDENCIES视图显示当前用户可访问的类型、表、视图、存储过程、函数、触发器之间的依赖关系。所有用户都可以访问。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 DB_DEPENDENCIES字段 名称 类型 描述 owner name 对象的所有者。 name name 对象的名称。 type character varying(18) 对象的类型。 referenced_owner name 被引用对象的所有者。 referenced_name name 被引用对象的名称。 referenced_type character varying(18) 被引用对象的类型。 referenced_link_name character varying(128) 暂不支持,值为NULL。 dependency_type character varying(4) 暂不支持,值为NULL。 父主题: 其他系统视图
  • 算子说明 合并连接(Merge Join)是一种高效的连接方法,它依赖于排序操作。在进行合并连接时,GaussDB会对两个表的连接字段进行排序,然后同步扫描两个表,寻找匹配的行。 Merge Join的时间复杂度为O(n+m), 其中n和m分别代表两个表的行数。然而,如果需要排序操作,这个排序操作的时间复杂度可能会达到max(O(logn), O(logm)), 这通常会比直接的Merge Join操作更加耗时。 在GaussDB中,优化器更倾向于选择Hash Join,即使需要连接的两张表已经经过排序。
  • 示例 --创建一个无用的外部数据封装器dummy。 gaussdb=# CREATE FOREIGN DATA WRAPPER dummy; --创建一个带有处理器函数file_fdw_handler 的外部数据封装器file。 gaussdb=# CREATE FOREIGN DATA WRAPPER file HANDLER file_fdw_handler; --创建一个带有一些选项的外部数据封装器mywrapper。 gaussdb=# CREATE FOREIGN DATA WRAPPER mywrapper OPTIONS (debug 'true');
  • 参数说明 name 要创建的外部数据封装器的名称。 HADNLER handler_function handler_function是先前已经注册了的函数的名称,用来为外部表检索执行函数。处理器函数必须没有参数,并且它的返回类型必须为fdw_handler。 不用处理器函数创建外部数据封装器是可能的,但是使用这种封装器的外部表只能被声明,不能被访问。 VALIDATOR validator_function validator_function 是先前已经注册了的函数的名字用来检查提供给外部数据封装器的通用选项,还有使用该外部数据封装器的外部服务器、用户映射和外部表的选项。如果没有验证器函数或声明了NO VALIDATOR,那么在创建时将不检查选项(外部数据封装器可能在运行时忽略或拒绝无效的选项说明,取决于实现)。验证器函数必须接受两个参数:一个类型为text[],将包含存储在系统目录中的选项的数组;一个类型为oid,是包含这些选项的系统目录的OID。忽略返回类型;该函数应该使用ereport(ERROR)函数报告无效选项。 OPTIONS ( option 'value' [, ... ] ) 这个子句为新的外部数据封装器声明选项。允许的选项名和值是特定于每个外部数据封装器的,并且是经过外部数据封装器的验证器函数验证了的。选项名必须是唯一的。
  • PG_TS_PARSER PG_TS_PARSER系统表包含文本解析器的定义。解析器负责将输入文本分割为词位,并且为每个词位分配标记类型。因为解析器必须通过C语言级别的函数实现,所以新解析器必须由数据库系统管理员创建。 表1 PG_TS_PARSER字段 名称 类型 引用 描述 oid oid - 行标识符(隐含属性,必须明确选择)。 prsname name - 文本搜索解析器名。 prsnamespace oid PG_NAMESPACE.oid 包含这个解析器的名称空间的OID。 prsstart regproc PG_PROC.proname 解析器的启动函数名。 prstoken regproc PG_PROC.proname 解析器的下一个标记函数名。 prsend regproc PG_PROC.proname 解析器的关闭函数名。 prsheadline regproc PG_PROC.proname 解析器的标题函数名。 prslextype regproc PG_PROC.proname 解析器的lextype函数名。 父主题: 其他系统表
  • SESSION_MEMORY 统计Session级别的内存使用情况,包含执行作业在当前节点上GaussDB线程和Stream线程分配的所有内存,单位为MB,如表1所示。 表1 SESSION_MEMORY字段 名称 类型 描述 sessid text 线程启动时间+线程标识。 init_mem integer 当前正在执行作业进入执行器前已分配的内存。 used_mem integer 当前正在执行作业已分配的内存。 peak_mem integer 当前正在执行作业已分配的内存峰值。 父主题: Session/Thread
共100000条
提示

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