华为云用户手册

  • V$VERSION V$VERSION视图显示数据库的版本号。所有用户都可以访问,该视图同时存在于PG_CATA LOG 和SYS schema下。具体字段信息如表1所示。 表1 V$VERSION字段 名称 类型 描述 banner character varying(80) 组件名称和版本号。 banner_full character varying(160) 显示数据库版本和版本号。 banner_legacy character varying(80) 显示数据库版本。 con_id numeric 暂不支持,置0。 父主题: 其他系统视图
  • 语法格式 收集表的统计信息。 { ANALYZE | ANALYSE } [ VERBOSE ] [ table_name [ ( column_name [, ...] ) ] ] [ WITH PARTITION_MODE ]; 收集分区表的分区统计信息。 { ANALYZE | ANALYSE } [ VERBOSE ] table_name [ ( column_name [, ...] ) ] PARTITION ( partition_name ) ; 使用关键字PARTITION,partition_name必须为一级分区名字。 分布式不支持二级分区。
  • 参数说明 VERBOSE 启用显示进度信息。 如果指定了VERBOSE,ANALYZE发出进度信息,表明目前正在处理的表。各种有关表的统计信息也会打印出来。 table_name 需要分析的特定表的表名(可能会带模式名),如果省略,将对数据库中的所有表(非外部表)进行分析。 对于ANALYZE收集统计信息,目前仅支持行存表的外表。 取值范围:已有的表名。 column_name,column_1_name,column_2_name 需要分析特定列的列名,默认为所有列。 取值范围:已有的列名。 partition_name 如果table为分区表,在关键字PARTITION后面指定分区名partition_name表示分析该分区表的统计信息。 取值范围:表的某一个分区名。 index_name 需要分析的特定索引表的表名(可能会带模式名)。 取值范围:已有的表名。 FAST|COMPLETE FAST模式下主要对于表的CRC和page header进行校验,如果校验失败则会告警;而COMPLETE模式下,则主要对表的指针、tuple进行解析校验。 CASCADE CASCADE模式下会对当前表的所有索引进行检测处理。 PARTITION_MODE PARTITION_MODE适用于分区表级联收集统计信息,可选项和含义如下表所示。不适用于非分区表。 表1 PARTITION_MODE选项说明 PARTITION_MODE选项 含义 ALL 收集整表、一级分区的统计信息。 GLOBAL 收集整表的统计信息。 PARTITION 收集一级分区的统计信息。 GLOBAL AND PARTITION 收集整表、一级分区的统计信息。 ALL COMPLETE 收集整表、一级分区的统计信息。 AUTO 缺省值,以statistic_granularity或default_statistic_granularity中配置的参数为准,其中表级参数statistic_granularity的优先级高于全局参数default_statistic_granularity。 其中,ALL和ALL COMPLETE的区别为:ALL_COMPLETE模式下,采用更高的采样率,相应地,计算统计信息的耗时会更长。 从505.0.0之前版本升级到505.0.0及更高版本时,在升级观察期期间,PARTITION_MODE不生效,其行为与升级前版本保持一致。 analyze整库时,不支持指定partition mode,即不支持analyze with global等语法。 analyze整库时,支持设置default_statistic_granularity为GLOBAL或ALL,此时analyze行为和default_statistic_granularity的定义相同;当default_statistic_granularity设置为其他值时,analyze行为退化为GLOBAL行为。
  • 示例 收集表的的统计信息。 --创建customer_info表。 gaussdb=# CREATE TABLE customer_info( wr_returned_date_sk INTEGER , wr_returned_time_sk INTEGER , wr_item_sk INTEGER NOT NULL ,wr_refunded_customer_sk INTEGER ) DISTRIBUTE BY HASH (wr_item_sk); --使用ANALYZE语句更新统计信息。 gaussdb=# ANALYZE customer_info; --使用ANALYZE VERBOSE语句更新统计信息,并输出customer_info表的相关信息。 gaussdb=# ANALYZE VERBOSE customer_info; INFO: analyzing "public.customer_info"(cn_5002 pid=53078) --使用ANALYZE VERBOSE输出customer_info表的wr_returned_time_sk列信息。 gaussdb=# ANALYZE VERBOSE customer_info(wr_returned_time_sk); INFO: analyzing "public.customer_info"(cn_5002 pid=53078) 收集分区表的统计信息。 --创建分区表。 gaussdb=# CREATE TABLE customer_par( wr_returned_date_sk INTEGER , wr_returned_time_sk INTEGER , wr_item_sk INTEGER NOT NULL, wr_returned_customer_sk INTEGER) DISTRIBUTE BY HASH (wr_item_sk)PARTITION BY RANGE(wr_returned_date_sk)(PARTITION P1 VALUES LESS THAN(2452275),PARTITION P2 VALUES LESS THAN(2452640),PARTITION P3 VALUES LESS THAN(2453000),PARTITION P4 VALUES LESS THAN(MAXVALUE))ENABLE ROW MOVEMENT; --使用ANALYZE语句更新统计信息。 gaussdb=# ANALYZE customer_par; --使用ANALYZE VERBOSE输出customer_par表的相关信息。 gaussdb=# ANALYZE VERBOSE customer_par; INFO: analyzing "public.customer_par"(cn_5001 pid=446617) --使用ANALYZE VERBOSE输出P1一级分区表的相关信息。 gaussdb=# ANALYZE VERBOSE customer_par PARTITION(P1); INFO: analyzing "public.customer_par"(cn_5001 pid=446617) 手动收集多列统计信息。 --手动收集wr_returned_date_sk、wr_returned_time_sk这两列的统计信息。 gaussdb=# ANALYZE VERBOSE customer_info (wr_returned_date_sk,wr_returned_time_sk); INFO: analyzing "public.customer_par"(cn_5001 pid=446617) 自动收集多列统计信息。 --给customer_info表创建索引。 gaussdb=# CREATE INDEX customer_index ON customer_info USING btree(wr_returned_date_sk,wr_returned_time_sk,wr_item_sk,wr_refunded_customer_sk); --设置auto_statistic_ext_columns参数为4。 gaussdb=# set auto_statistic_ext_columns=4; --自动收集多列统计信息。 gaussdb=# ANALYZE VERBOSE customer_info; INFO: analyzing "public.customer_info"(cn_5001 pid=446617) 检测当前库的数据文件。 gaussdb=# ANALYZE VERIFY FAST; 检测表和索引的数据文件。 --检查customer_info表。 gaussdb=# ANALYZE VERIFY FAST customer_info; --检查customer_index索引。 gaussdb=# ANALYZE VERIFY FAST customer_index; 检测表分区的数据文件。 --检查customer_par分区表中的P1分区。 gaussdb=# ANALYZE VERIFY FAST customer_par PARTITION (P1); 删除数据。 --删除索引customer_index。 gaussdb=# DROP INDEX customer_index; --删除表customer_info。 gaussdb=# DROP TABLE customer_info; --删除分区表customer_par。 gaussdb=# DROP TABLE customer_par;
  • 功能描述 用于收集与数据库中普通表内容相关的统计信息,统计结果存储在系统表PG_STATISTIC、PG_STATISTIC_EXT下,执行ANALYZE命令后,可在上述系统表中查询收集到的统计信息,也可以通过系统视图PG_STATS、PG_EXT_STATS查询信息。执行计划生成器会使用这些统计数据,以确定最有效的执行计划。 如果没有指定参数,ANALYZE会分析当前数据库中的每个表和分区表。同时也可以通过指定table_name、column_name和partition_name参数把分析限定在特定的表、列或分区表中。 {ANALYZE|ANALYSE} VERIFY用于检测数据库中普通表的数据文件是否损坏。 每次收集的统计信息,都会存入统计信息历史表(GS_STATISTIC_EXT_HISTORY、GS_STATISTIC_HISTORY、GS_TABLESTATS_HISTORY)中,历史表存放的数量和统计信息的保留时间由GUC参数stats_history_record_limit和stats_history_retention_time控制。
  • 注意事项 ANALYZE非临时表不支持在一个匿名块、事务块、函数或存储过程内被执行。ANALYZE临时表支持存储过程中被执行,不支持统计信息回滚操作。 ANALYZE VERIFY如果不涉及远程读场景,远程读参数则不会生效。对于检测出关键系统表页面损坏的错误,将直接报错不再继续检测。 如果ANALYZE不指定参数,则默认处理当前用户拥有相应权限的表。如果参数指定了一个表参数,ANALYZE只处理指定的表。 要对一个表进行ANALYZE操作,用户必须是表的所有者或者被授予了指定表VACUUM权限,三权分立开关关闭时,默认系统管理员有该权限。数据库的所有者允许对数据库中除了共享目录以外的所有表进行ANALYZE操作(该限制意味着只有系统管理员才能真正对一个数据库进行ANALYZE操作)。ANALYZE会跳过那些用户没有权限的表。 ANALYZE不收集无法做比较或等值运算的列,例如:CURSOR类型。
  • GLOBAL_STAT_USER_TABLES 显示各节点所有Schema中用户自定义普通表的状态信息(在CN节点使用。显示DN节点用户自定义普通表的状态信息,不进行汇总),如表1所示。 表1 GLOBAL_STAT_USER_TABLES字段 名称 类型 描述 node_name name 节点名称。 relid oid 表的OID。 schemaname name 此表所在的Schema名。 relname name 表名。 seq_scan bigint 此表发起的顺序扫描数。 seq_tup_read bigint 顺序扫描抓取的活跃行数。 idx_scan bigint 此表发起的索引扫描数。 idx_tup_fetch bigint 索引扫描抓取的活跃行数。 n_tup_ins bigint 插入行数。 n_tup_upd bigint 更新行数。 n_tup_del bigint 删除行数。 n_tup_hot_upd bigint HOT更新行数(即没有更新索引列的行数)。 n_live_tup bigint 估计活跃行数。 n_dead_tup bigint 估计不活跃行数。 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 bigint 此表被手动清理的次数(不计算VACUUM FULL)。 autovacuum_count bigint 此表被autovacuum清理的次数。 analyze_count bigint 此表被手动分析的次数。 autoanalyze_count bigint 此表被autovacuum守护线程分析的次数。 父主题: Object
  • LOCKS LOCKS视图用于查看各打开事务所持有的锁信息,如表1所示。 表1 LOCKS字段 名称 类型 描述 locktype text 被锁定对象的类型:relation,extend,page,tuple,transactionid,virtualxid,object,userlock,advisory。 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。 mode text 这个线程持有的或者是期望的锁模式。 granted boolean 如果锁是持有锁,则为TRUE。 如果锁是等待锁,则为FALSE。 fastpath boolean 如果通过fast-path获得锁,则为TRUE;如果通过主要的锁表获得,则为FALSE。 locktag text 会话等待锁信息,可通过locktag_decode()函数解析。 global_sessionid text 全局会话ID。 父主题: Lock
  • 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
  • 离散范围类型 一种范围的元素类型具有一个定义的“步长”,例如integer或date。在这些类型中,如果两个元素之间没有合法值,它们可以被说成是相邻。这与连续范围相反,连续范围中总是(或者几乎总是)可以在两个给定值之间标识其他元素值。例如,numeric类型之上的一个范围就是连续的,timestamp上的范围也是(尽管timestamp具有有限的精度,并且在理论上可以被当作离散的,但是可以认为它是连续的,因为通常并不关心它的步长)。 另一种考虑离散范围类型的方法是对每一个元素值都有一个清晰的“下一个”或“上一个”值。通过选择原来给定的下一个或上一个元素值来取代它,就可以在一个范围界限的包含和排除表达之间转换。例如,在一个整数范围类型中,[4,8]和(3,9)表示相同的值集合,但是对于numeric上的范围就不是这样。 一个离散范围类型应该具有一个正规化函数,即明确元素类型的指定步长。正规化函数负责把范围类型的相等值转换成具有相同的表达,特别是与包含或者排除界限一致。如果没有指定一个正规化函数,那么具有不同格式的范围将总是会被当作不等,即使它们实际上是表达相同的一组值。 内建的范围类型int4range、int8range和daterange都使用一种正规的形式,该形式包括下界并且排除上界,即[)。但是用户定义的范围类型可以使用其他形式。
  • 无限(无界)范围 一个范围的下界可以被忽略,意味着所有小于上界的值都被包括在范围中。 同样,如果范围的上界被忽略,那么所有比下界大的值都被包括在范围中。如果上下界都被忽略,该元素类型的所有值都被认为在该范围中。 当不设置范围的上界和下界时, 即上界为正无穷大,下界为负无穷大,该范围为无限(无界)范围。 具有infinity概念的元素类型可以作为显式边界值。 例如,在时间戳范围[today,infinity)和[today,infinity] ,[today,infinity)表示不包括特殊的timestamp值infinity,[today,infinity]表示包括特殊的timestamp值infinity。 函数lower_inf和upper_inf分别测试一个范围的无限上下界。
  • 构造范围 每一种范围类型都有一个与其同名的构造器函数。使用构造器函数常常比写一个范围文字常数更方便,因为它避免了对界限值的额外引用。构造器函数接收两个或三个参数。两个参数的形式以标准的形式构造一个范围(下界是包含的,上界是排除的),而三个参数的形式按照第三个参数指定的界限形式构造一个范围。第三个参数必须是下列字符串之一: “()”、 “(]”、 “[)”或者 “[]”。 --完整形式是:下界、上界以及指示界限包含性/排除性的文本参数。 gaussdb=# SELECT numrange(1.0, 14.0, '(]'); numrange ------------ (1.0,14.0] (1 row) --如果第三个参数被忽略,则假定为 '[)'。 gaussdb=# SELECT numrange(1.0, 14.0); numrange ------------ [1.0,14.0) (1 row) --尽管这里指定了 '(]',显示时该值将被转换成标准形式,因为int8range是一种离散范围类型。 gaussdb=# SELECT int8range(1, 14, '(]'); int8range ----------- [2,15) (1 row) --为一个界限使用NULL导致范围在那一边是无界的。 gaussdb=# SELECT numrange(NULL, 2.2); numrange ---------- (,2.2) (1 row)
  • 范围输入/输出 范围输入模式: (lower-bound,upper-bound) (lower-bound,upper-bound] [lower-bound,upper-bound) [lower-bound,upper-bound] empty 范围输出模式: [lower-bound,upper-bound) empty ()或[]指示上下界是否为排除的或者包含的。empty表示一个空范围(一个不包含点的范围)。 lower-bound可以是作为subtype的合法输入的一个字符串,或者是空(表示没有下界)。同样,upper-bound可以是作为subtype的合法输入的一个字符串,或者是空(表示没有上界)。 每个界限值可以使用"(双引号)字符引用。如果界限值包含圆括号、方括号、逗号、双引号或反斜线时,必须使用双引号进行引用,否则这些字符会被认作范围语法的一部分。要把一个双引号或反斜线放在一个被引用的界限值中,需在其前面添加一个反斜线(还有,在一个双引号引用的界限值中的一对双引号表示一个双引号字符,这与SQL字符串中的单引号规则类似)。此外,避免引用或者使用反斜线转义来保护所有数据字符,否则数据字符会被当作范围语法的一部分。如果要写一个是空字符串的界限值,则可以写成"",因为什么都不写表示一个无限界限。 范围值前后允许有空格,但是圆括号或方括号之间的任何空格会被当做上下界值的一部分(取决于元素类型,它可能是也可能不是有意义的)。 例子: --包括3,不包括7之间的所有点。 gaussdb=# SELECT '[3,7)'::int4range; int4range ----------- [3,7) (1 row) --既不包括3也不包括7之间的所有点。 gaussdb=# SELECT '(3,7)'::int4range; int4range ----------- [4,7) (1 row) --只包括单独一个点4。 gaussdb=# SELECT '[4,4]'::int4range; int4range ----------- [4,5) (1 row) --不包括点(并且将被标准化为 '空')。 gaussdb=# SELECT '[4,4)'::int4range; int4range ----------- empty (1 row)
  • DB_COL_PRIVS DB_COL_PRIVS视图显示以下授权信息: 当前用户作为对象所有者、授予者或被授予者时的列权限授予信息。 已启用角色或PUBLIC角色作为被授予者时的列权限授予信息。 默认所有用户都可以访问。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 DB_COL_PRIVS字段 名称 类型 描述 grantor character varying(128) 执行授权的用户名。 owner character varying(128) 对象的所有者。 grantee character varying(128) 被授予权限的用户或角色的名称。 table_schema character varying(128) 对象的Schema。 table_name character varying(128) 对象的名称。 column_name character varying(128) 列的名称。 privilege character varying(40) 列上的权限。 grantable character varying(3) 是否授予特权。 YES:授予特权。 NO:不授予特权。 common character varying(3) 暂不支持,值为NULL。 inherited character varying(3) 暂不支持,值为NULL。 父主题: 用户和权限管理
  • GS_LIBCOMM_MEMORY_INFO 记录当前libcomm通信库内部内存使用的基础配置信息。查询该视图需要PUBLIC权限。 表1 GS_LIBCOMM_MEMORY_INFO字段 名称 类型 描述 node_name text DN实例名。 current_used_memory bigint libcomm通信库使用内存,单位为字节(byte)。 current_data_item_num bigint libcomm无锁队列数据块个数。 init_mailbox_memory bigint libcomm初始化mailbox使用的内存,单位为字节(byte)。 max_datanode bigint libcomm通信库支持的最大DN个数。 max_stream bigint libcomm单个TCP连接支持的最大数据流个数。 max_quota_size bigint libcomm逻辑连接的buffer总大小,单位为字节(byte)。 max_usable_memory bigint libcomm通信库缓存最大可使用内存,单位为字节(byte)。 max_memory_pool bigint libcomm通信库在每个DN上可以使用的内存资源池总大小,单位为字节(byte)。 父主题: 通信
  • PG_TS_TEMPLATE PG_TS_TEMPLATE系统表包含定义文本搜索模板的记录。模板是文本搜索字典的类的实现框架。因为模板必须通过C语言级别的函数实现,索引新模板的创建必须由数据库系统管理员创建。 表1 PG_TS_TEMPLATE字段 名称 类型 引用 描述 oid oid - 行标识符(隐含字段,必须明确选择)。 tmplname name - 文本搜索模板名。 tmplnamespace oid PG_NAMESPACE.oid 包含这个模板的名称空间的OID。 tmplinit regproc PG_PROC.proname 模板的初始化函数名。 tmpllexize regproc PG_PROC.proname 模板的lexize函数名。 父主题: 其他系统表
  • PG_STAT_BGWRITER PG_STAT_BGWRITER视图显示后端写进程活动的统计信息。具体字段信息如表1所示。 表1 PG_STAT_BGWRITER字段 名称 类型 描述 checkpoints_timed bigint 定期执行的检查点数。 checkpoints_req bigint 主动执行的检查点数。 checkpoint_write_time double precision 将文件写入到磁盘时,在检查点处理部分花费的时间总量,以毫秒为单位。 checkpoint_sync_time double precision 将文件同步到磁盘时,在检查点处理部分花费的时间总量,以毫秒为单位。 buffers_checkpoint bigint 检查点写入的缓冲区的数量。 buffers_clean bigint 后端写进程写入的缓冲区的数量。 maxwritten_clean bigint 后端写进程因写入的缓冲区过多导致的清理扫描停止的次数。 buffers_backend bigint 后端直接写入的缓冲区的数量。 buffers_backend_fsync bigint 后端自己执行fsync调用的次数 (通常情况下,即使后端自己执行了这些写入动作,后端写进程也会再处理一次)。 buffers_alloc bigint 分配的缓冲区数量。 stats_reset timestamp with time zone 这些统计被重置的时间。 父主题: 其他系统视图
  • GLOBAL_STATIO_SYS_INDEXES GLOBAL_STATIO_SYS_INDEXES视图显示各节点的命名空间中所有系统表索引的I/O状态信息,如表1所示。 表1 GLOBAL_STATIO_SYS_INDEXES字段 名称 类型 描述 node_name name 节点名称。 relid oid 索引的表的OID。 indexrelid oid 该索引的OID。 schemaname name 该索引的模式名。 relname name 该索引的表名。 indexrelname name 索引名称。 idx_blks_read numeric 从索引中读取的磁盘块数。 idx_blks_hit numeric 索引命中缓存数。 父主题: Cache/IO
  • 基于Psycopg开发 Psycopg是一种用于执行SQL语句的PythonAPI,可以为 GaussDB数据库 提供统一访问接口,应用程序可基于它进行数据操作。Psycopg2是对libpq的封装,主要使用C语言实现,既高效又安全。它具有客户端游标和服务器端游标、异步通信和通知、支持“COPY TO/COPY FROM”功能。支持多种类型Python开箱即用,适配 GaussDB 数据类型。通过灵活的对象适配系统,可以扩展和定制适配。Psycopg2兼容Unicode。 GaussDB数据库提供了对Psycopg2特性的支持,并且支持psycopg2通过SSL模式连接。 表1 Psycopg支持平台 操作系统 平台 Python版本 EulerOS V2.0SP5 ARM64位 x86_64位 3.8.5 EulerOS V2.0SP9 ARM64位 x86_64位 3.7.4 EulerOS V2.0SP10、Kylin v10、UnionTech20 ARM64位 x86_64位 3.7.9 EulerOS V2.0SP11、Suse 12.5 ARM64位 x86_64位 3.9.11 Huawei Cloud EulerOS 2.0 ARM64位 x86_64位 3.9.9 psycopg2在编译过程中,会链接(link)GaussDB的openssl,GaussDB的openssl与操作系统自带的openssl可能不兼容。如果遇到不兼容现象,例如提示"version 'OPENSSL_1_1_1f' not found",请使用环境变量LD_LIBRARY_PATH进行隔离,以避免混用操作系统自带的openssl与GaussDB依赖的openssl。 例如,在执行某个调用psycopg2的应用软件client.py时,将环境变量显性赋予该应用软件: export LD_LIBRARY_PATH=/path/to/gaussdb/libs:$LD_LIBRARY_PATH python client.py 其中,/path/to/pyscopg2/lib 表示GaussDB依赖的openssl库所在目录,需根据文件实际存储路径修改。 开发流程 Psycopg包 示例:常用操作 示例:向量场景 Psycopg接口参考 父主题: 应用程序开发教程
  • MY_ROLE_PRIVS MY_ROLE_PRIVS视图显示授予当前用户角色(包括public角色)的权限的信息。默认所有用户都可以访问。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 MY_ROLE_PRIVS字段 名称 类型 描述 grantee character varying(128) 被授予权限的用户或角色名称。 granted_role character varying(128) 被授予的角色。 admin_option character varying(3) 该授权是否包含ADMIN选项。 YES:包含ADMIN选项。 NO:不包含ADMIN选项。 delegate_option character varying(3) 暂不支持,值为NULL。 default_role character varying(3) 暂不支持,值为NULL。 os_granted character varying(3) 暂不支持,值为NULL。 common character varying(3) 暂不支持,值为NULL。 inherited character varying(3) 暂不支持,值为NULL。 父主题: 用户和权限管理
  • 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 完成时间。 node_name name 数据来源节点的名称。 父主题: OLTP表压缩
  • SUMMARY_STAT_XACT_ALL_TABLES 显示数据库各节点所有Schema中所有普通表和toast表的事务状态信息的汇总求和结果,如表1所示。 表1 SUMMARY_STAT_XACT_ALL_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更新行数(即没有更新索引列的行数)。 父主题: Object
  • SNAPSHOT.SNAPSHOT SNAPSHOT表记录当前系统中存储的WDR快照数据的索引信息,开始,结束时间。只有初始化用户或监控管理员用户有权限查看。只可在系统库中查询到结果,用户库中无法查询,WDR Snapshot在启动后(打开GUC参数enable_wdr_snapshot)会触发创建该表,如表1所示。 表1 SNAPSHOT表属性 名称 类型 描述 示例 snapshot_id bigint WDR快照序号。 1 start_ts timestamp WDR快照的开始时间。 2019-12-28 17:11:27.423742+08 end_ts timestamp WDR快照的结束时间。 2019-12-28 17:11:43.67726+08 version int WDR快照的版本信息。 1 snap_flag bigint WDR快照的属性。 NULL:代表该快照为旧版本快照。 0:表示该次快照为全量快照。 1:表示该次快照为增量快照。 0 base_snapshot_id bigint WDR快照对应的的全量快照id。 1 父主题: WDR Snapshot原信息
  • SNAPSHOT.SNAPSHOT SNAPSHOT表记录当前系统中存储的WDR快照数据的索引信息、开始和结束时间。只能在系统库中查询到结果,用户库中无法查询,WDR Snapshot在启动后(打开GUC参数enable_wdr_snapshot)会触发创建该表,如表1所示。 表1 SNAPSHOT表属性 名称 类型 描述 示例 snapshot_id bigint WDR快照序号。 1 start_ts timestamp WDR快照的开始时间。 2019-12-28 17:11:27.423742+08 end_ts timestamp WDR快照的结束时间。 2019-12-28 17:11:43.67726+08 version int WDR快照的版本信息。 1 snap_flag bigint WDR快照的属性。 NULL:代表该快照为旧版本快照。 0:表示该次快照为全量快照。 1:表示该次快照为增量快照。 0 base_snapshot_id bigint WDR快照对应的的全量快照id。 1 父主题: WDR Snapshot原信息
  • GaussDB的DROP、TRUNCATE、DELETE这三种删除数据的方式主要区别是什么? 答:DROP、TRUNCATE、DELETE这三种删除方式的区别主要体现在删除的速度和删除的范围上,具体所下: DROP语句的删除速度最快,可以删除整个表,包括表结构、数据、索引和权限。 TRUNCATE语句的删除速度中等,可以删除表中的所有数据,但不删除表结构。 DELETE语句的删除速度最慢,可以根据条件删除表中的数据,但不包括表结构。 父主题: FAQ
  • DB_ARGUMENTS DB_ARGUMENTS视图显示当前用户可访问的存储过程和函数的参数信息。该视图同时存在于PG_CATALOG和SYS Schema下。该视图所有用户都可以访问,显示当前用户可访问的所有信息。 表1 DB_ARGUMENTS字段 名称 类型 描述 owner character varying(128) 函数或存储过程的所有者。 object_name character varying(128) 函数或存储过程的名称。 package_name character varying(128) 包名。 object_id oid 函数或存储过程的OID。 overload character varying(40) 表示该函数是该名称的第n个重载函数。 subprogram_id numeric 包中函数或存储过程的位置。 argument_name character varying(128) 参数名称。 position numeric 该参数在参数列表中的位置,函数返回值位置默认为0。 sequence numeric 定义参数的顺序,从1开始,返回类型在前,然后是每个参数。 data_level numeric 复合类型参数的嵌套深度,此列的值始终为0,因为每个参数现在只显示一行。 data_type character varying(30) 参数的数据类型。 defaulted character varying(1) 参数是否有默认值: Y:表示有默认值。 N:表示没有默认值。 default_value text 暂不支持,值为NULL。 default_length numeric 暂不支持,值为NULL。 in_out character varying(9) 参数出入属性: IN:表示入参。 OUT:表示出参。 IN_OUT:表示出入参。 VARIADIC:表示VARIADIC参数。 data_length numeric 暂不支持,值为NULL。 data_precision numeric 暂不支持,值为NULL。 data_scale numeric 暂不支持,值为NULL。 radix numeric 数字的参数基数,smallint、integer、bigint、numeric、float为10,其余值为NULL。 character_set_name character varying(44) 暂不支持,值为NULL。 type_owner character varying(128) 数据类型所有者。 type_name character varying(128) 参数类型名,仅显示自定义类型。 type_subname character varying(128) 暂不支持,值为NULL。 type_link character varying(128) 暂不支持,值为NULL。 type_object_type character varying(7) type_name类型的类型: TABLE:表示参数为表类型。 VIEW:表示参数为视图类型。 其余值为NULL。 pls_type character varying(128) 对于数字类型参数,为参数的PL/SQL类型的名称,否则为空。 char_length numeric 暂不支持,值为NULL。 char_used character varying(1) 暂不支持,varchar,nvarchar2,bpchar,char类型置B,其余值为NULL。 origin_con_id character varying(256) 暂不支持,值为0。 父主题: 其他系统视图
  • SQL语言分为哪几类? 答:SQL语言分为3类,分别为: DDL(Data Definition Language,数据定义语言),用于定义或修改数据库中的对象,如:表、索引、视图等。 DML(Data Manipulation Language,数据操作语言),用于对数据库表中的数据进行操作。如:插入、更新、查询、删除。 DCL(Data Control Language,数据控制语言),用于设置或更改数据库用户或角色权限。 父主题: FAQ
  • GS_TXN_SNAPSHOT GS_TXN_SNAPSHOT是“时间戳- CS N”映射表,周期性采样,并维护适当的时间范围,用于估算范围内的时间戳对应的CSN值。 表1 GS_TXN_SNAPSHOT字段 名称 类型 描述 snptime timestamp with time zone 快照捕获时间。 snpxmin bigint 快照xmin。 snpcsn bigint 快照csn。 snpsnapshot text 快照序列化文本。 父主题: 其他系统表
  • User index IO activity 表2 User index IO activity表格字段 列名称 描述 DB Name Database名称。 Schema Name Schema名称。 Table Name Table名称。 Index Name Index名称。 %Idx Blks Hit Ratio Index的命中率。 Idx Blks Read 所有索引读取的磁盘块数。 Idx Blks Hit 所有索引命中缓存数。
  • User table IO activity 表1 User table IO activity表格字段 列名称 描述 DB Name Database名称。 Schema Name Schema名称。 Table Name Table名称。 %Heap Blks Hit Ratio 此表的Buffer Pool命中率。 Heap Blks Read 该表中读取的磁盘块数。 Heap Blks Hit 此表缓存命中数。 Idx Blks Read 表中所有索引读取的磁盘块数。 Idx Blks Hit 表中所有索引命中缓存数。 Toast Blks Read 此表的TOAST表读取的磁盘块数(如果存在)。 Toast Blks Hit 此表的TOAST表命中缓冲区数(如果存在)。 Tidx Blks Read 此表的TOAST表索引读取的磁盘块数(如果存在)。 Tidx Blks Hit 此表的TOAST表索引命中缓冲区数(如果存在)。
共100000条