华为云用户手册

  • 约束 dbe_profiler.pl_start_profiling不支持在存储过程内使用,在存储过程内调用不生效。 dbe_profiler.pl_start_profiling不支持事务失败记录统计信息到系统表。 dbe_profiler.pl_start_profiling入参runid长度限制为64,超长将会报错。 dbe_profiler.pl_start_profiling入参如果和profiler系统表内的runid重复将会报错。 plprofiler不支持匿名块语句、PACKAGE的初始化语句和嵌套子程序内的语句。 自治事务的提交和回滚不会影响主事务已提交的数据,因此plprofiler暂不支持记录包含自治事务的存储过程的信息。
  • 概述 在PL/SQL函数和存储过程中查找性能问题可能会很困难。在系统或扩展视图中唯一可见的是从客户端发送的查询。在调用存储过程的情况下,这只是最外层的存储过程调用。plprofiler扩展可用于快速识别最耗时的存储过程,然后向下查看其中的单个语句耗时情况。 使用此工具,可以在会话中先创建存储过程及相关表信息,然后调用plprofiler接口对存储过程进行profiling,再执行存储过程,此时存储过程分析数据已生成。可以通过查询系统表去获取数据。表5 DBE_PROFILER.PL_PROFILING_FUNCTIONS可以查看此次profiling涉及的存储过程。 表6 DBE_PROFILER.PL_PROFILING_DETAILS查看存储过程内每条语句的执行时间细节。表7 DBE_PROFILER.PL_PROFILING_CALLGRAPH查看调用栈信息和对应每个存储过程执行的整体时间。表8 DBE_PROFILER.PL_PROFILING_TRACKINFO查看存储过程每个阶段的执行时间。可以通过接口DBE_PROFILER.PL_CLEAR_PROFILING去删除某次或所有profiling后储存在系统表里的数据。 dbe_profiler工具的原理是在执行pl_start_profiling后,系统会初始化内存以准备记录数据,然后对后续执行的存储过程进行打桩,在关键点记录详细信息,并将这些信息记录在内存中,等待事务提交之后才会将内存中的数据写入四张系统表。在事务中执行dbe_profiler工具时须注意,在事务执行阶段,由于事务未提交,所以内存中的数据不会写入系统表中,只有在执行commit后才会将数据写入系统表。同理,执行rollback后,会将所有数据进行清理。
  • GLOBAL_OS_RUNTIME 提供数据库中所有正常节点下的操作系统运行状态信息,如表1所示。 表1 GLOBAL_OS_RUNTIME字段 名称 类型 描述 node_name name 节点名称。 id integer 编号。 name text 操作系统运行状态名称。 value numeric 操作系统运行状态值。 comments text 操作系统运行状态注释。 cumulative boolean 操作系统运行状态的值是否为累加值。 父主题: OS
  • PG_STATIO_ALL_SEQUEN CES PG_STATIO_ALL_SEQUENCES视图显示当前数据库中每个序列的I/O的统计信息。 表1 PG_STATIO_ALL_SEQUENCES字段 名称 类型 描述 relid oid 序列OID。 schemaname name 序列的模式名。 relname name 序列名。 blks_read bigint 从序列中读取的磁盘块数。 blks_hit bigint 序列命中缓存数。 父主题: 其他系统视图
  • GLOBAL_WORKLOAD_TRANSACTION 显示各节点上的workload的负载信息,如表1所示。多租场景下,non-PDB访问该视图时返回全部信息,PDB访问该视图时仅返回该PDB相关信息。 表1 GLOBAL_WORKLOAD_TRANSACTION字段 名称 类型 描述 node_name name 节点名称。 workload name 负载的名称。 commit_counter bigint 用户事务commit数量。 rollback_counter bigint 用户事务rollback数量。 resp_min bigint 用户事务最小响应时间(单位:微秒)。 resp_max bigint 用户事务最大响应时间(单位:微秒)。 resp_avg bigint 用户事务平均响应时间(单位:微秒)。 resp_total bigint 用户事务总响应时间(单位:微秒)。 bg_commit_counter bigint 后台事务commit数量。 bg_rollback_counter bigint 后台事务rollback数量。 bg_resp_min bigint 后台事务最小响应时间(单位:微秒)。 bg_resp_max bigint 后台事务最大响应时间(单位:微秒)。 bg_resp_avg bigint 后台事务平均响应时间(单位:微秒)。 bg_resp_total bigint 后台事务总响应时间(单位:微秒)。 dbid oid 统计信息所属的数据库id。 父主题: Workload
  • DB4AI.PREPARE_SNAPSHOT PREPARE_SNAPSHOT是DB4AI特性中数据准备模型训练和解释快照进行协作,如表1所示。快照为所有应用更改的数据和文档提供了完整的序列。通过语法PREPARE SNAPSHOT调用。 表1 DB4AI.PREPARE_SNAPSHOT入参和返回值列表 参数 类型 描述 i_schema IN NAME 快照存储的模式名字,默认值是当前用户或者PUBLIC。 i_parent IN NAME 父快照名称。 i_commands IN TEXT[] 定义快照修改的DDL和DML命令。 i_vers IN NAME 版本后缀。 i_comment IN TEXT 此数据策展单元的说明。 res OUT db4ai.snapshot_name 结果。 父主题: DB4AI Schema
  • MY_SCHEDULER_JOB_ARGS MY_SCHEDULER_JOB_ARG视图显示当前用户拥有的任务的有关参数信息。该视图所有用户可访问,仅可查看当前用户所属信息。该视图同时存在于PG_CATA LOG 和SYS Schema下。 表1 MY_SCHEDULER_JOB_ARGS字段 名称 类型 描述 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。 父主题: 其他系统视图
  • ADM_IND_EXPRESSIONS ADM_IND_EXPRESSIONS视图显示数据库中表达式索引的信息。默认只有系统管理员权限才可以访问,普通用户需要授权才可以访问。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 ADM_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 索引中列的位置。 父主题: 其他系统视图
  • 以pg_temp或pg_toast_temp开头的SCHEMA是什么? 答:在查询SCHEMA的时候,发现查询结果中存在以pg_temp或pg_toast_temp开头的SCHEMA如下所示。 gaussdb=# SELECT nspname FROM pg_namespace WHERE nspname LIKE 'pg_t%' AND nspname != 'pg_toast'; nspname --------------------------------- pg_temp_dn_6001_4_1_11495 pg_toast_temp_dn_6001_4_1_11495 (2 rows) 以pg_temp或者pg_toast_temp开头的表是在创建临时表时,通过每个会话以pg_temp开头的SCHEMA来保证只对当前会话可见。因此,不建议用户在日常操作中手动删除以pg_temp、pg_toast_temp开头的SCHEMA。 临时表只在当前会话可见,会话结束后会自动删除,相对应的SCHEMA也会被删除。 父主题: FAQ
  • 典型场景使用示例 针对独立零字符的基础处理逻辑相对简单,本文重点展示复合型异常场景的解决方案,即数据流中同时存在零字符(\0)与非法编码字符的容错处理过程: 构造UTF8的零字符与非法字符数据。 gaussdb=# create database db_utf8 encoding='UTF-8' LC_COLLATE='en_US.UTF-8' LC_CTYPE ='en_US.UTF-8' dbcompatibility = 'A'; CREATE DATABASE gaussdb=# \c db_utf8 Non-SSL connection (SSL connection is recommended when requiring high-security) You are now connected to database "db_utf8" as user "omm". db_utf8=# create table test_encodings(id int, content text); CREATE TABLE db_utf8=# insert into test_encodings values(1, dbe_raw.cast_to_varchar2(dbe_raw.concat(dbe_raw.cast_from_varchar2_to_raw('导入'), hextoraw('00'), dbe_raw.cast_from_varchar2_to_raw('导出')))); INSERT 0 1 db_utf8=# insert into test_encodings values(2, dbe_raw.cast_to_varchar2(dbe_raw.concat(hextoraw('2297'), dbe_raw.cast_from_varchar2_to_raw('导入导出')))); INSERT 0 1 db_utf8=# show client_encoding; client_encoding ----------------- UTF8 (1 row) --在id为1的行中,content包含零字符;在id为2的行中,content含有不属于UTF-8字符集的字符。 db_utf8=# select *, dbe_raw.cast_from_varchar2_to_raw(content) from test_encodings; id | content | cast_from_varchar2_to_raw ----+-----------+------------------------------ 1 | 导入 | E5AFBCE585A500E5AFBCE587BA 2 | "导入导出 | 2297E5AFBCE585A5E5AFBCE587BA (2 rows) 在导出文件时,若选择与服务端相同的字符集,无需进行转码操作,文件默认能够顺利导出。然而,当选择与服务端不同的字符集时,则需要进行转码处理。在转码过程中,一旦识别到UTF-8编码中的非法字符0x97,系统将报错。此时,只需开启compatible_illegal_chars参数,文件便可成功导出。 db_utf8=# copy test_encodings to '/home/xy/encodings.txt.utf8' encoding 'utf-8'; COPY 2 db_utf8=# copy test_encodings to '/home/xy/encodings.txt.gb18030' encoding 'gb18030'; ERROR: invalid byte sequence for encoding "UTF8": 0x97 db_utf8=# copy test_encodings to '/home/xy/encodings.txt.gb18030' encoding 'gb18030' compatible_illegal_chars; COPY 2 使用UTF-8编码打开文件/home/xy/encodings.txt.utf8,当前示例未针对A进行兼容处理,且未开启support_zero_character选项和compatible_illegal_chars参数。以下结果显示:第一行第二列的数据被截断;第二行第二列存在乱码,虽然在显示上未呈现明显异常,但通过hexdump命令可查看出乱码数据。用户可参考此示例进行复现操作,具体数据在此不再详述。 1 导入 2 "导入导出 使用gb18030编码打开文件/home/xy/encodings.txt.gb18030,以下结果表明:文件中第一行第二列的零字符被替换为空格;第二行第二列的非法字符被替换为“?”。 1 导入 导出 2 "?导入导出
  • 导出编码一致性处理原则 当客户端编码(client_encoding)与服务端编码(server_encoding)一致时: 执行原生数据导出; 保证数据完整性和原始性; 无需进行字符集转换。 当客户端编码(client_encoding)与服务端编码(server_encoding)不一致时: 采用客户端编码作为导出文件目标编码标准; 内核中对已有数据先基于服务端编码进行编码合法性校验,存在非法编码的数据会进行报错; 内核再将数据进行转码处理,对无法转码(源字符集存在码位,目标字符集不存在码位)的字符进行报错。
  • 非法编码处理方案 当用户的数据库中存在非法编码入库的数据,想要导出时不进行报错,推荐以下两种方案。 首选方案:保持客户端编码与服务端编码保持一致后,将数据以数据库服务端编码进行导出,不进行转码。 查询数据库服务端编码 gaussdb=# show server_encoding; 查询数据库客户端编码 gaussdb=# show client_encoding; 设置客户端编码与服务端编码一致 gaussdb=# set client_encoding = '{server_encoding}'; 执行COPY将数据以标准的 CS V格式导出到文件中 gaussdb=# COPY test_copy TO '/data/test_copy.csv' CSV; 次选方案:需要依赖数据库内核的转码能力,并对非法编码的字节通过占位符('?')进行替换,导出的数据内容会发生变化。 查询数据库服务端编码。 gaussdb=# show server_encoding; 设置数据库客户端编码为目标编码。 gaussdb=# set client_encoding = {target_encoding}; 依赖内核转码能力进行导出,将非法编码的字节进行替换。 gaussdb=# COPY test_copy TO '/data/test_copy.csv' CSV COMPATIBLE_ILLEGAL_CHARS;
  • PG_SHDESCRIPTION PG_SHDESCRIPTION系统表为共享数据库对象存储可选的注释。可以使用COMMENT命令操作注释的内容,使用\d命令查看注释内容。 PG_DESCRIPTION提供了类似的功能,它记录了单个数据库中对象的注释。 PG_SHDESCRIPTION是在数据库实例的所有数据库之间共享的,即每个实例只有一个,而不是每个数据库一个。 表1 PG_SHDESCRIPTION字段 名称 类型 引用 描述 objoid oid 任意OID属性 所描述的对象的OID。 classoid oid PG_CLASS.oid 该对象出现的系统表的OID。 description text - 该对象的描述信息。 父主题: 其他系统表
  • ADM_VIEWS ADM_VIEWS视图显示数据库中的视图信息。默认只有系统管理员权限才可以访问,普通用户需要授权才可以访问。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 ADM_VIEWS字段 名称 类型 描述 owner character varying(64) 视图的所有者。 view_name character varying(64) 视图名称。 text text 视图文本。 text_length integer 视图文本长度。 text_vc character varying(4000) 视图创建语句。此列可能会截断视图文本。BEQUEATH子句将不会作为此视图中的TEXT_VC列的一部分出现。 type_text_length numeric 暂不支持,值为NULL。 type_text character varying(4000) 暂不支持,值为NULL。 oid_text_length numeric 暂不支持,值为NULL。 oid_text character varying(4000) 暂不支持,值为NULL。 view_type_owner character varying(128) 暂不支持,值为NULL。 view_type character varying(128) 暂不支持,值为NULL。 superview_name character varying(128) 暂不支持,值为NULL。 editioning_view character varying(1) 暂不支持,值为NULL。 read_only character varying(1) 暂不支持,值为NULL。 container_data character varying(1) 暂不支持,值为NULL。 bequeath character varying(12) 暂不支持,值为NULL。 origin_con_id character varying(256) 暂不支持,值为NULL。 default_collation character varying(100) 暂不支持,值为NULL。 containers_default character varying(3) 暂不支持,值为NULL。 container_map character varying(3) 暂不支持,值为NULL。 extended_data_link character varying(3) 暂不支持,值为NULL。 extended_data_link_map character varying(3) 暂不支持,值为NULL。 has_sensitive_column character varying(3) 暂不支持,值为NULL。 admit_null character varying(3) 暂不支持,值为NULL。 pdb_local_only character varying(3) 暂不支持,值为NULL。 父主题: 其他系统视图
  • 示例 --向gs_global_config系统表中插入单个弱口令。 gaussdb=# CREATE WEAK PASSWORD DICTIONARY WITH VALUES ('********'); --查看gs_global_config系统表现有的弱口令。 gaussdb=# SELECT * FROM gs_global_config WHERE NAME LIKE 'weak_password'; name | value -----------------+-------------- weak_password | ******** (1 rows) --向gs_global_config系统表中插入多个弱口令。 gaussdb=# CREATE WEAK PASSWORD DICTIONARY WITH VALUES ('********'),('********'); --再次查看gs_global_config系统表弱口令(弱密码的*不代表密码内容)。 gaussdb=# SELECT * FROM gs_global_config WHERE NAME LIKE 'weak_password'; name | value -----------------+---------------- weak_password | ******** weak_password | ******** weak_password | ******** (3 rows) --清空gs_global_config系统表中所有弱口令。 gaussdb=# DROP WEAK PASSWORD DICTIONARY; --查看现有弱口令。 gaussdb=# SELECT * FROM gs_global_config WHERE NAME LIKE 'weak_password'; name | value ------+------- (0 rows)
  • DBE_PLDEBUGGER.step debug端调试过程中,如果当前执行的是一个存储过程,则进入该存储过程继续调试,返回该存储过程第一行的行号等信息,如果当前执行的不是存储过程,则和next行为一致,执行该sql后返回下一行的行号等信息,如表1所示。 表1 step入参和返回值列表 名称 类型 描述 funcoid OUT oid 函数id。 funcname OUT text 函数名。 lineno OUT integer 当前调试运行的下一行行号。 query OUT text 当前调试的下一行函数源码。 父主题: DBE_PLDEBUGGER Schema
  • PERF_QUERY 提供当前节点下采集到堆栈信息的名称、树状结构和百分比,如表1所示。需要有monadmin权限。多租场景下,non-PDB访问该视图时返回全部信息,PDB访问该视图时报错。 使用该视图查询堆栈信息之前,需要先执行gs_perf_start函数,采集火焰图数据。 表1 PERF_QUERY字段 名称 类型 描述 backtrace text 堆栈信息树状结构文本。 overhead double precision 当前堆栈信息在整个堆栈采集过程中所占时间百分比。 父主题: OS
  • _PG_FOREIGN_TABLE_COLUMNS 显示外部表的列信息,如表1所示。该视图只有sysadmin权限可以查看。 表1 _PG_FOREIGN_TABLE_COLUMNS字段 名称 类型 描述 nspname name schema名称。 relname name 表名称。 attname name 列名称。 attfdwoptions text[] 外部数据封装器的属性选项,使用“keyword=value”格式的字符串。 父主题: Information Schema
  • 获取驱动包 下载表1中的驱动包和驱动包校验包。 表1 驱动包下载列表 版本 下载地址 V2.0-8.x 驱动包 驱动包校验包 为了防止软件包在传递过程或存储期间被恶意篡改,下载软件包时需下载对应的校验包对软件包进行校验,校验方法如下: Linux操作系统软件包完整性校验: 上传软件包和软件包校验包到虚拟机的同一目录下。 执行如下命令,校验软件包完整性。 cat GaussDB _driver.zip.sha256 | sha256sum --check 如果回显OK,则校验通过。 GaussDB_driver.zip: OK Windows操作系统软件包完整性校验: 使用快捷键“Win+R”打开“运行”窗口。 在“打开”栏,输入“cmd”,按“Enter”回车,打开命令行页面。 执行以下命令,获取驱动包的Hash值。 certutil -hashfile {驱动包本地目录}\{驱动包名} sha256 {驱动包本地目录}:请根据实际下载目录进行替换。例如:C:\Users {驱动包名}:请根据实际下载的驱动包名进行替换。例如:GaussDB_driver.zip 示例:certutil -hashfile C:\Users\GaussDB_driver.zip sha256 将2获取到的Hash值和表1中获取到的驱动包校验包的Hash值进行比较。 若一致则通过校验。 若不一致,请重新下载驱动包,重复1~3进行校验。
  • 环境类 Go环境配置 用户需要在环境变量中配置以下参数: GO111MODULE:用户使用在线导入的方式安装Go驱动时需要设置GO111MODULE为on。如果不希望进行Go mod工程的改造,需将GO111MODULE设置为off,并手动下载依赖包。依赖包与驱动根目录和业务代码保持同级。 GOPROXY:用户使用在线导入时需配置包含Go驱动包的路径。 用户可以根据自己场景参数配置Go其他相关环境变量。 通过go env查看Go环境变量配置结果,并且查看Go版本是否在1.13或以上。 Go驱动安装 从驱动包中获取Go驱动包。包名为GaussDB -Kernel_数据库版本号_操作系统版本号_64bit_Go.tar.gz。解压后为Go驱动源码包。 进入Go驱动代码根路径,执行go mod tidy下载相关依赖,需要在环境变量中配置GOPATH=${Go驱动依赖包存放路径}。 若依赖已下载至本地,可以在go.mod里面添加一行“通过replace将Go驱动包替换为本地Go驱动包地址”,表示代码里面所有的import Go驱动包都是使用本地路径, 同时依赖也不会从代理里下载。 通过go mod tidy下载相关依赖时可能会下载为某个依赖的低版本,如果依赖的低版本存在漏洞,可以通过更改go.mod文件中对应依赖的版本号,更新依赖到漏洞修复后的版本来规避风险。 数据库提供的Go驱动包依赖Go 1.13及以上版本。
  • GLOBAL_STATIO_SYS_TABLES GLOBAL_STATIO_SYS_TABLES视图显示各节点的命名空间中所有系统表的I/O状态信息,如表1所示。 表1 GLOBAL_STATIO_SYS_TABLES字段 名称 类型 描述 node_name name 节点名称。 relid oid 表OID。 schemaname name 该表模式名。 relname name 表名。 heap_blks_read bigint 从该表中读取的磁盘块数。 heap_blks_hit bigint 此表缓存命中数。 idx_blks_read bigint 从表中所有索引读取的磁盘块数。 idx_blks_hit bigint 表中所有索引命中缓存数。 toast_blks_read bigint 此表的TOAST表读取的磁盘块数(如果存在)。 toast_blks_hit bigint 此表的TOAST表命中缓冲区数(如果存在)。 tidx_blks_read bigint 此表的TOAST表索引读取的磁盘块数(如果存在)。 tidx_blks_hit bigint 此表的TOAST表索引命中缓冲区数(如果存在)。 父主题: Cache/IO
  • GS_ADM_ILMTASKS GS_ADM_ILMTASKS视图反映ADO Task的概要信息,包含Task ID,Task Owner,状态以及时间信息。默认只有系统管理员权限才可以访问此系统视图,普通用户需要授权才可以访问。 表1 GS_ADM_ILMTASKS字段 名称 类型 描述 task_id bigint ADO Task的ID。 task_owner character varying(128) ADO Task发起的用户,仅ADM视图存在此列 state character varying(9) 状态: INACTIVE:非活动。 ACTIVE:活动。 COMPLETED:完成。 UNKNOWN:评估中。 creation_time timestamp with time zone 创建时间。 start_time timestamp with time zone 变成活动状态的时间。 completion_time timestamp with time zone 完成时间。 父主题: OLTP表压缩
  • DBE_PLDEBUGGER.continue 执行当前存储过程,直到下一个断点或结束,返回执行的下一条的行数和对应query,如表1所示。 函数原型为: 1 2 DBE_PLDEBUGGER.continue() RETURN Record; 表1 continue返回值列表 名称 类型 描述 funcoid OUT oid 函数id。 funcname OUT text 函数名。 lineno OUT integer 当前调试运行的下一行行号。 query OUT text 当前调试的下一行函数源码。 父主题: DBE_PLDEBUGGER Schema
  • 示例 修改PACKAGE的所有者。 --创建PACKAGE。 gaussdb=# CREATE OR REPLACE PACKAGE test_pkg AS pkg_var int := 1; PROCEDURE test_pkg_proc(var int); END test_pkg; / gaussdb=# CREATE OR REPLACE PACKAGE BODY test_pkg AS PROCEDURE test_pkg_proc(var int) AS BEGIN pkg_var := 1; END; END test_pkg; / --创建用户。 gaussdb=# CREATE ROLE test PASSWORD '********'; --修改包的所有者。 gaussdb=# ALTER PACKAGE test_pkg OWNER TO test; --查询test_pkg的所有者。 gaussdb=# SELECT t1.pkgname,t2.rolname FROM gs_package t1, gs_roles t2 WHERE t1.pkgname = 'test_pkg' AND t1.pkgowner = t2.oid; pkgname | rolname ----------+--------- test_pkg | test (1 row) 重编译包。 --重编译包。 gaussdb=# ALTER PACKAGE test_pkg COMPILE; --删除。 gaussdb=# DROP PACKAGE test_pkg; gaussdb=# DROP ROLE test; --关闭依赖功能。 gaussdb=# RESET behavior_compat_options;
  • DB_TAB_COMMENTS DB_TAB_COMMENTS视图显示当前用户可访问的所有表和视图的注释信息。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 DB_TAB_COMMENTS字段 名称 类型 描述 owner character varying(128) 表或视图的所有者。 table_name character varying(128) 表或视图的名称。 table_type character varying(11) 对象类型。 comments text 注释。 origin_con_id numeric 暂不支持,值为0。 schema character varying(64) 表所属的名称空间的名称。 父主题: 其他系统视图
  • MTD_USER MTD_USER视图显示当前所有用户的信息,仅用于内部视图做表关联,不建议外部使用。 表1 MTD_USER字段 名称 类型 描述 dbid oid 数据库标识。 usename name 用户名。 usesysid oid 用户的ID。 usecreatedb boolean 用户是否可以创建数据库。 t(true):表示是。 f(false):表示否。 usesuper boolean 用户是否是拥有最高权限的初始系统管理员。 t(true):表示是。 f(false):表示否。 usecatupd boolean 用户是否可以直接更新系统表。只有usesysid=10的初始系统管理员拥有此权限。其他用户无法获得此权限。 t(true):表示是。 f(false):表示否。 userepl boolean 用户是否可以复制数据流。 t(true):表示是。 f(false):表示否。 passwd text 密文存储后的用户密码,始终为********。 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。 nodegroup name 用户关联的逻辑数据库名称,如果该用户没有管理逻辑数据库,则该字段为空。 tempspacelimit text 临时表存储空间限额,单位KB。 spillspacelimit text 算子落盘空间限额,单位KB。 usemonitoradmin boolean 用户是否是监控管理员。 t(true):表示是。 f(false):表示否。 useoperatoradmin boolean 用户是否是运维管理员。 t(true):表示是。 f(false):表示否。 usepolicyadmin boolean 用户是否是安全策略管理员。 t(true):表示是。 f(false):表示否。 父主题: 多租数据库
  • THREAD_WAIT_STATUS 通过该视图可以检测当前节点上工作线程(backend thread)以及辅助线程(auxiliary thread)的阻塞等待情况,如表1所示。具体事件信息请参见15.3.67-表2 等待状态列表、15.3.67-表3 轻量级锁等待事件列表、15.3.67-表4 IO等待事件列表和15.3.67-表5 事务锁等待事件列表。 表1 THREAD_WAIT_STATUS字段 名称 类型 描述 node_name text 节点名称。 db_name text 数据库名称。 thread_name text 线程名称。 query_id bigint 查询ID,对应debug_query_id。 tid bigint 当前线程的线程号。 sessionid bigint session的ID。 lwtid integer 当前线程的轻量级线程号。 psessionid bigint streaming线程的父线程。 tlevel integer streaming线程的层级。 smpid integer 并行线程的ID。 wait_status text 当前线程的等待状态。等待状态的详细信息请参见表 等待状态列表。 wait_event text 如果wait_status是acquire lock、acquire lwlock、wait io三种类型,此列描述具体的锁、轻量级锁、I/O的信息;否则为空。 locktag text 当前线程正在等待锁的信息。 lockmode text 当前线程正等待获取的锁模式。包含表级锁、行级锁、页级锁下的各模式。 block_sessionid bigint 阻塞当前线程获取锁的会话标识。 global_sessionid text 全局会话ID。 父主题: Session/Thread
  • MY_PART_INDEXES MY_PART_INDEXES视图显示当前用户下分区表索引的信息。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 MY_PART_INDEXES字段 名称 类型 描述 def_tablespace_name name 分区表索引的表空间名称。 index_owner character varying(64) 分区表索引的所有者名称。 index_name character varying(64) 分区表索引的名称。 partition_count bigint 分区表索引的索引分区的个数。 partitioning_key_count integer 分区表的分区键个数。 partitioning_type text 分区表的分区策略。 说明: 当前分区表策略支持范围见CREATE TABLE PARTITION。 schema character varying(64) 分区表索引的模式。 table_name character varying(64) 分区表索引所属的分区表名称。 subpartitioning_type text 二级分区表的分区策略。如果分区表是一级分区表,则显示NONE。 说明: 当前二级分区表策略支持范围见CREATE TABLE SUBPARTITION。 def_subpartition_count integer 默认创建二级分区的个数,二级分区表为1,一级分区表为0。 subpartitioning_key_count integer 分区表二级分区键的个数。 父主题: 分区表
  • force_smp_partitionwise_scan 参数说明:在SMP场景下,打开Partition-wise Join开关enable_smp_partitionwise后,是否在全局范围内开启Partition-wise Scan的并行扫描方式。多租场景下,该参数可在PDB级别设置。 参数类型:布尔型 参数单位:无 取值范围: on:表示在SMP场景下,开启Partition-wise Scan的并行扫描方式。 off:表示在SMP场景下,不开启Partition-wise Scan的并行扫描方式。 默认值:off。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:可能影响SMP场景下读取分区表数据的性能。
  • cost_weight_index 参数说明:设置index_scan的代价权重。该参数可在PDB级别设置。 参数类型:浮点型 参数单位:无 取值范围:1e-6 ~ 1e+10 默认值:1。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:会影响优化器是否选择index_scan,设置不当可能影响优化器选择非最优计划从而影响查询性能。
共100000条
提示

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