华为云用户手册

  • uuid_short() 描述:返回一个在一定条件下具有唯一性的短通用标识符。这个标识符是一个64位无符号类型的整数。 在满足下列条件时,返回的值是唯一的。 当前集群下的服务节点数不能超过256个。 不能在节点重新启动之间设置服务器主机的系统时间。 在节点重新启动之间平均每秒调用uuid_short() 少于1600万次。 参数:无。 返回值类型:uint64 示例: 1 2 3 4 5 gaussdb=# SELECT uuid_short(); uuid_short -------------------- 100440026956955649 (1 row) 从505.0.0之前的版本升级至最新版本,升级未提交情况下不能使用uuid_short()函数。
  • sys_guid() 描述:产生并返回一个全局唯一的标识符,由16个字节组成,生成的标识符有当前机器IP,生成时间戳,随机数,由以上标识符组成一个全局唯一的uuid。 参数:无。 返回值类型:raw 示例: 1 2 3 4 5 6 7 8 9 gaussdb=# SET a_format_version='10c'; SET gaussdb=# SET a_format_dev_version='s5'; SET gaussdb=# SELECT sys_guid(); sys_guid ---------------------------------- 9010675E560CB33C1BDAFA163E378F87 (1 row)
  • uuid() 描述:返回一个根据RFC 4122、ISO/IEF 9834-8:2005以及相关标准定义的通用唯一标识符(UUID)。这个标识符是一个小写十六进制数字的字符串,由分字符分成几组,一组8位数字+三组4位数字+一组12位数字,总共32个数字代表128位。 参数:无。 返回值类型:varchar 示例: 1 2 3 4 5 gaussdb=# SELECT uuid(); uuid -------------------------------------- dd8cbe92-1a25-013c-a514-e435c87e9182 (1 row)
  • PG_PLTEMPLATE PG_PLTEMPLATE系统表存储过程语言的“模板”信息。 表1 PG_PLTEMPLATE字段 名称 类型 描述 tmplname name 这个模板所应用的语言的名称。 tmpltrusted boolean 如果语言被认为是可信的,则为真。否则为假。 tmpldbacreate boolean 如果语言是由数据库所有者创建的,则为真。否则为假。 tmplhandler text 调用处理器函数的名称。 tmplinline text 匿名块处理器的名称,若没有则为NULL。 tmplvalidator text 校验函数的名称,如果没有则为NULL。 tmpllibrary text 实现语言的共享库的路径。 tmplacl aclitem[] 模板的访问权限(未使用)。 父主题: 其他系统表
  • DB_SCHEDULER_JOB_ARGS DB_SCHEDULER_JOB_ARG视图显示当前用户可访问任务的有关参数信息。该视图所有用户可访问,显示当前用户可访问的所有信息。该视图同时存在于PG_CATA LOG 和SYS Schema下。 表1 DB_SCHEDULER_JOB_ARGS字段 名称 类型 描述 owner character varying(128) 参数所属作业的拥有者。 job_name character varying(128) 参数所属作业名。 argument_name character varying(128) 参数名称。 argument_position numeric 参数在参数列表中的位置。 argument_type character varying(257) 参数的数据类型,可以是用户的自定义数据类型。 value character varying(4000) 参数值。 anydata_value character varying(4000) 暂不支持,值为NULL。 out_argument character varying(5) 保留字段,值为NULL。 父主题: 其他系统视图
  • 算子说明 WorkTable Scan是一种基于内存的查询优化技术,它可以将查询结果缓存在内存中,以提高查询性能。当 GaussDB 执行一个查询语句时,它会将查询结果存储在一个临时表中,然后使用WorkTable Scan来扫描这个临时表,以获取查询结果。WorkTable Scan的优点是可以减少磁盘I/O操作,提高查询性能。但是,它也有一些缺点,比如会消耗大量的内存空间,可能会导致内存溢出等问题。因此,在使用WorkTable Scan时,需要根据具体情况进行调整和优化。
  • COMM_RECV_STREAM COMM_RECV_STREAM视图展示单个DN上所有的TCP代理通信库接收流状态,如表1所示。 表1 COMM_RECV_STREAM字段 名称 类型 描述 node_name text 节点名称。 local_tid bigint 使用此通信流的线程ID。 remote_name text 连接对端节点名称。 remote_tid bigint 连接对端线程ID。 idx integer 通信对端DN在本DN内的标识编号。 sid integer 通信流在物理连接中的标识编号。 tcp_sock integer 通信流所使用的TCP通信socket。 state text 通信流当前的状态。 query_id bigint 通信流对应的debug_query_id编号。 pn_id integer 通信流所执行查询的plan_node_id编号。 send_smp integer 通信流所执行查询send端的smpid编号。 recv_smp integer 通信流所执行查询recv端的smpid编号。 recv_bytes bigint 通信流接收的数据总量(单位:Byte)。 time bigint 通信流当前生命周期使用时长(单位:毫秒)。 speed bigint 通信流的平均接收速率(单位:Byte/s)。 quota bigint 通信流当前的通信配额值(单位:Byte)。 buff_usize bigint 通信流当前缓存的数据大小(单位:Byte)。 父主题: Comm
  • PG_SHARED_MEMORY_DETAIL PG_SHARED_MEMORY_DETAIL视图显示所有已产生的共享内存上下文的使用信息。具体字段信息如表1所示。 表1 PG_SHARED_MEMORY_DETAIL字段 名称 类型 描述 contextname text 内存上下文的名称。 level smallint 当前上下文在整体内存上下文中的层级。 parent text 上级内存上下文。 totalsize bigint 共享内存总大小,单位Byte。 freesize bigint 共享内存剩余大小,单位Byte。 usedsize bigint 共享内存使用大小,单位Byte。 父主题: 其他系统视图
  • GLOBAL_LOCKS GLOBAL_LOCKS视图用于查看各节点各打开事务所持有的锁信息,如表1所示。 表1 GLOBAL_LOCKS字段 名称 类型 描述 node_name name 节点名称。 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 对于表的一个字段,这是字段编号;对于其他对象类型,这个字段是零;如果这个对象不是普通数据库对象,则为NULL。 virtualtransaction text 持有此锁或者在等待此锁的事务的虚拟ID。 pid bigint 持有或者等待这个锁的服务器线程的逻辑ID。如果锁是被一个预备事务持有的,则为NULL。 sessionid bigint 持有或者等待这个锁的会话ID。如果锁是被一个预备事务持有的,则为NULL。 global_sessionid text 全局会话ID。 mode text 这个线程持有的或者是期望的锁模式。 granted boolean 如果锁是持有锁,则为TRUE。 如果锁是等待锁,则为FALSE。 fastpath boolean 如果通过fast-path获得锁,则为TRUE;如果通过主要的锁表获得,则为FALSE。 locktag text 会话等待锁信息,可通过locktag_decode()函数解析。 父主题: Lock
  • MY_IND_EXPRESSIONS MY_IND_EXPRESSIONS视图显示当前用户下基于函数的表达式索引的信息。所有用户都可以访问。该视图同时存在于PG_CATALOG和SYS Schema下。具体字段信息如表1所示。 表1 MY_IND_EXPRESSIONS字段 名称 类型 描述 table_owner character varying(64) 表的所有者。 table_name character varying(64) 表名。 index_owner character varying(64) 索引的所有者。 index_name character varying(64) 索引名。 column_expression text 定义列的基于函数的索引表达式。 column_position smallint 索引中列的位置。 父主题: 其他系统视图
  • gs_redis_local_drop_bucket_files(database_name NAME, bucketlist CS TRING, bucketnum SMALLINT) 描述:用于rangebucket表删除对应数据库的bucket list。只支持在扩容期间调用;只支持管理员权限用户查询;只支持DN上调用。 参数说明: 名称 类型 描述 database_name NAME 指定数据库名。 bucketlist CSTRING 指定bucket列表。 bucketnum SMALLINT bucket的个数。 返回值类型:Boolean 示例: gaussdb=# SELECT gs_redis_local_drop_bucket_files('postgres', '1 2 3', 3); gs_redis_local_drop_bucket_files ------------------------------------------- t (1 row)
  • gs_redis_drop_bucket_files(origin_group_id OID,target_group_id OID) 描述:删除源节点已经物理搬迁的文件。只支持在扩容期间调用;只支持管理员权限用户查询;只支持CN上调用。 参数说明: 名称 类型 描述 origin_group_id OID 源节点的node group target_group_id OID 新节点的node group 返回值类型:BOOLEAN 示例: gaussdb=# SELECT * FROM gs_redis_drop_bucket_files(16388, 16417); gs_redis_drop_bucket_files ------------------------------------------- t (1 row)
  • gs_redis_get_slicebucket_plan() 描述:用于获取当前库的SLICEBUCKET迁移计划。只支持在扩容期间调用;只支持管理员权限用户查询;只支持CN上调用。 参数:void 返回值说明: 名称 类型 描述 sender_id OID 源节点的节点oid。 sender_name CSTRING 源节点的节点名称。 receiver_id OID 新节点的节点oid。 receiver_name CSTRING 新节点的节点名称。 bucket_number INT4 bucket_list中包含的bucket个数。 bucket_list OIDVECTOR_EXTEND 迁移计划涉及的bucket列表。 bucketgroup OID bucketlist中的bucket属于哪个group,取值范围为0-4。 示例: gaussdb=# SELECT gs_redis_get_slicebucket_plan(); | sender_id| sender_name| receiver_id| receiver_name| bucket_number| bucket_list| bucketgroup| -------------------------------------------------------------------------------------------------- | 16385| datanode1| 32768| datanode3| 1| 2048| 1| -------------------------------------------------------------------------------------------------- | 16386| datanode2| 32768| datanode3| 1| 2049| 1| -------------------------------------------------------------------------------------------------- | 16386| datanode2| 32768| datanode3| 4| 3073 3076 3079 3082| 2| -------------------------------------------------------------------------------------------------- | 16385| datanode1| 32768| datanode3| 1| 3074| 2| -------------------------------------------------------------------------------------------------- | 16385| datanode1| 32768| datanode3| 4| 4098 4099 4101 4102| 3| (5 rows)
  • gs_redis_parse_slicebucket_tranfer_file(plan_json CSTRING, type CSTRING) 描述:用于获取SLICEBUCKET搬迁计划。只支持在扩容期间调用;只支持管理员权限用户查询;只支持CN上调用。 参数说明: 名称 类型 描述 plan_json TEXT 用户指定的slice搬迁文件。 type CSTRING 解析计划类型,可指定为'incremental'或'full',默认为'full'。 返回值类型: 名称 类型 描述 idx INT 需要搬迁的数据库序号。 database_name CSTRING 需要搬迁的数据库名字。 示例: gaussdb=# SELECT gs_redis_parse_slicebucket_tranfer_file('filepath', 'full'); | idx| database_name| ---------------------------- | 0| tpcc1000w| (1 row)
  • gs_redis_slicebucket_update_segment_header() 描述:更新当前数据库所有SLICEBUCKET表的header。只支持在扩容期间调用;只支持管理员权限用户查询;只支持CN上调用。 入参:void 返回值类型:Boolean 示例: gaussdb=# SELECT * FROM gs_redis_slicebucket_update_segment_header(); gs_redis_slicebucket_update_segment_header ------------------------------------------- t (1 row)
  • gs_redis_drop_bucket_files(plan_json CSTRING) 描述:删除源节点已经物理搬迁的RANGEBUCKET文件。只支持在扩容期间调用;只支持管理员权限用户查询;只支持CN上调用。 参数说明: 名称 类型 描述 plan_json CSTRING 用户指定的SLICE搬迁文件。 返回值类型:BOOLEAN 示例: gaussdb=# SELECT gs_redis_drop_bucket_files('filepath'); gs_redis_drop_bucket_files ------------------------------------------- t (1 row)
  • gs_redis_local_drop_bucket_files(bucketlist CSTRING,bucketnum SMALLINT) 描述:用于hashbucket表删除对应的bucket list。只支持在扩容期间调用;只支持管理员权限用户查询;只支持DN上调用。 参数说明: 名称 类型 描述 bucketlist CSTRING 指定bucket列表 bucketnum SMALLINT bucket的个数 返回值类型:Boolean 示例: gaussdb=# SELECT * FROM gs_redis_local_drop_bucket_files('1 2 3', 3); gs_redis_local_drop_bucket_files ------------------------------------------- t (1 row)
  • gs_redis_local_set_hashbucket_frozenxid 描述:修改hashbucket表在系统表中的relfrozenxid64值。只支持在扩容期间调用;只支持管理员权限用户查询;只支持DN上调用。 参数说明:void 返回值类型:void 示例: gaussdb=# SELECT * FROM gs_redis_local_set_hashbucket_frozenxid(); gs_redis_local_set_hashbucket_frozenxid ------------------------------------------- 0 (1 row)
  • gs_redis_check_bucket_flush(dn_array NAME[]) 描述:查询RTO回放私有buffer是否全部刷下去。只支持在扩容期间调用;只支持管理员权限用户查询。 参数说明: dn_array:DN节点名称列表 返回值类型:Boolean 示例: gaussdb=# SELECT * FROM gs_redis_check_bucket_flush('{datanode1, datanode2}'); gs_redis_check_bucket_flush ----------------------------- f (1 row)
  • gs_redis_set_nextxid(xid BIGINT) 描述:修改DN节点next_xid值。只支持在扩容期间调用。只支持管理员权限用户查询;只支持DN上调用。 参数说明:xid:预期next_xid的值 返回值类型:void 示例: gaussdb=# SELECT * FROM gs_redis_set_nextxid('15268817'); gs_redis_set_nextxid ------------------------------------------- 0 (1 row)
  • gs_redis_local_update_inverse_pointer(table_name TEXT,header_info TEXT, bucketlist TEXT) 描述:记录更新反向指针的XLOG。只支持在扩容期间调用;只支持管理员权限用户查询;只支持DN上调用。 参数说明: 名称 类型 描述 table_name REGCLASS 表名。 header_info TEXT 段页式表header。 bucketlist TEXT bucket列表。 返回值类型:void 示例: gaussdb=# SELECT * FROM gs_redis_local_update_inverse_pointer('mytable', '4294967295,4294967295,4294967295,4294967295,....','1 2 3'); (数据较多,仅展示部分) gs_redis_local_update_inverse_pointer ------------------------------------------- 0 (1 row)
  • gs_redis_set_hashbucket_frozenxid(origin_group_id OID,target_group_id OID) 描述:修改新DN节点hashbucket表在系统表中的relfrozenxid64值。只支持在扩容期间调用;只支持管理员权限用户查询;只支持CN上调用。 参数说明: 名称 类型 描述 origin_group_id OID 源节点的node group。 target_group_id OID 新节点的node group。 返回值类型:void 示例: gaussdb=# SELECT * FROM gs_redis_set_hashbucket_frozenxid(16388, 16417); gs_redis_set_hashbucket_frozenxid ------------------------------------------- 0 (1 row)
  • gs_redis_show_bucketxid(bucketid_list OIDVECTOR_EXTEND) 描述:查询指定bucket对应的bucketxid。只支持在扩容期间调用;只支持管理员权限用户查询;只支持DN上调用。 参数说明: bucketid_list:bucket列表。 返回值类型:CSTRING 示例: gaussdb=# SELECT * FROM gs_redis_show_bucketxid('1 2 3'); gs_redis_show_bucketxid ---------------------------- 88880001 88880001 88880001 (1 row)
  • gs_redis_set_csn(csn BIGINT) 描述:修改DN节点next_csn值。只支持在扩容期间调用;只支持管理员权限用户查询;只支持DN上调用;只支持在GTM_FREE模式下调用。 参数说明: csn:预期next_csn的值。 返回值类型:void 示例: gaussdb=# SELECT * FROM gs_redis_set_csn('15268817'); gs_redis_set_csn ------------------------------------------- 0 (1 row)
  • gs_redis_get_flush_page_lsn(isclean bool) 描述:查询bucket扩容回放的刷页信息。 权限:只支持debug版本调用,只支持在扩容期间调用;只支持管理员权限用户查询。 参数说明:isclean:BOOLEAN类型,是否清理刷页信息。 返回值说明: 名称 类型 描述 node_name TEXT 页面所在dn名 space_id OID 表空间id db_id OID 数据库id file_id OID 数据文件编号,取值范围1-5 bucket_id OID bucket分区id,取值范围0-1023 forknum OID 数据文件分支,取值范围0-2 blocknum OID 物理页面在数据文件中的偏移页面号 latest_flush_lsn UINT8 刷脏页面最新的lsn 示例: gaussdb=# SELECT * FROM gs_redis_get_flush_page_lsn(false); node_name | space_id | db_id | file_id | bucket_id | forknum | blocknum | last_flush_lsn ------------------------------------------------------------------------------------------- datanode2 | 1633 | 16387 | 1 | 66 | 0 | 20 | 1571838992 (1 row)
  • bucket_lock_status 描述:查询打开事务所持有的bucket锁信息,所有用户均可执行该函数。 参数说明:void 返回值说明: 名称 类型 描述 database oid 被锁定对象所在数据库的OID。 virtualtransaction text 持有此锁或者在等待此锁的事务的虚拟ID。 pid bigint 持有或者等待这个锁的服务器线程的逻辑ID。如果锁是被一个预备事务持有的,则为NULL。 sessionid bigint 持有或者等待这个锁的会话ID。 mode text 这个线程持有的或者是期望的锁模式。 可能取值为:AccessShareLock、AccessExclusiveLock。 granted boolean 如果锁是持有锁,则为TRUE。 如果锁是等待锁,则为FALSE。 fastpath boolean 如果通过fast-path获得锁,则为TRUE;如果通过库级别锁信息获得锁或者两阶段提交时的锁,则为FALSE。 global_sessionid text 全局会话ID。 bucketlist text 被锁定的bucket在所属bucket组中的位置。 bucket_group smallint 被锁定的bucket所在的bucket组。 示例: gaussdb=# SELECT * FROM bucket_lock_status(); database | virtualtransaction | pid | sessionid | mode | granted | fastpath | global_sessionid | bucketlist | bucket_group ----------+--------------------+-----------------+-----------+-----------------+---------+----------+------------------+------------+-------------- 14934 | 8/25 | 140376742557440 | 2 | AccessShareLock | t | t | 1938253334:2#0 | (977,978) | 2 (1 row)
  • gs_redis_set_distributed_db(db_name CSTRING, bucketgroup SMALLINT) 描述:设置当前正在hashbucket重分布的数据库和bucketgroup。只支持在扩容期间调用;只支持管理员权限用户查询;只支持DN上调用。 参数说明: db_name:本次要重分布的数据库库名。 返回值说明:void 示例: gaussdb=# SELECT gs_redis_set_distributed_db('gaussdb', 0); gs_redis_set_distributed_db ----------------------------- 0 (1 row)
  • gs_redis_hashbucket_update_segment_header(origin_group_id OID,target_group_id OID) 描述:更新当前数据库所有hashbucket表的header。只支持在扩容期间调用;只支持管理员权限用户查询;只支持CN上调用。 参数说明: 名称 类型 描述 origin_group_id OID 源节点的node group。 target_group_id OID 新节点的node group。 返回值类型:Boolean 示例: gaussdb=# SELECT * FROM gs_redis_hashbucket_update_segment_header(16388, 16417); gs_redis_hashbucket_update_segment_header ------------------------------------------- t (1 row)
  • gs_redis_local_get_segment_header(table_name REGCLASS,bucketlist OIDVECTOR_EXTEND) 描述:获取段页式表header。只支持DN上调用。 参数说明: 名称 类型 描述 table_name REGCLASS 表名 bucketlist OIDVECTOR_EXTEND bucket列表。 返回值类型:header_info 示例: gaussdb=# SELECT * FROM gs_redis_local_get_segment_header('mytable', '256'); gs_redis_local_get_segment_header ---------------------------------------------------------------------------------------------------------------------------- 4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,...(数据较多,仅展示部分) (1 row)
  • gs_redis_local_update_segment_header(table_name REGCLASS,header_info CSTRING) 描述:更新段页式表header。只支持DN上调用。 参数说明: 名称 类型 描述 table_name REGCLASS 表名 header_info CSTRING 段页式表header。 返回值类型:void 示例: gaussdb=# SELECT * FROM gs_redis_local_update_segment_header('mytable', '4294967295,4294967295,4294967295,4294967295,....'); (数据较多,仅展示部分) gs_redis_local_update_segment_header ------------------------------------------- 0 (1 row)
共100000条