华为云用户手册

  • PG_COMM_STATUS PG_COMM_STATUS视图展示单个DN的通信库状态。 表1 PG_COMM_STATUS字段 名称 类型 描述 node_name text 节点名称。 rxpck_rate integer 节点通信库接收速率,单位Byte/s。 txpck_rate integer 节点通信库发送速率,单位Byte/s。 rxkbyte_rate bigint 节点通信库接收速率,单位KByte/s。 txkbyte_rate bigint 节点通信库发送速率,单位KByte/s。 buffer bigint cmailbox的缓存大小。 memkbyte_libcomm bigint libcomm线程通信内存大小,单位Byte。 memkbyte_libpq bigint libpq线程通信内存大小,单位Byte。 used_pm integer postmaster线程实时使用率。 used_sflow integer gs_sender_flow_controller线程实时使用率。 used_rflow integer gs_receiver_flow_controller线程实时使用率。 used_rloop integer 多个gs_receivers_loop线程中高的实时使用率。 stream integer 当前使用的逻辑连接总数。 父主题: 通信
  • 示例 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 --创建表 gaussdb=# CREATE TABLE sections_t1 ( section NUMBER(4) , section_name VARCHAR2(30), manager_id NUMBER(6), place_id NUMBER(4) ); CREATE TABLE --声明变量 gaussdb=# DECLARE section NUMBER(4) := 280; section_name VARCHAR2(30) := 'Info support'; manager_id NUMBER(6) := 103; place_id NUMBER(4) := 1400; new_colname VARCHAR2(10) := 'sec_name'; BEGIN --执行查询 EXECUTE IMMEDIATE 'insert into sections_t1 values(:1, :2, :3, :4)' USING section, section_name, manager_id,place_id; --执行查询(重复占位符) EXECUTE IMMEDIATE 'insert into sections_t1 values(:1, :2, :3, :1)' USING section, section_name, manager_id; --执行ALTER语句(建议采用“||”拼接数据库对象构造DDL语句) EXECUTE IMMEDIATE 'alter table sections_t1 rename section_name to ' || new_colname; END; / ANONYMOUS BLOCK EXECUTE --查询数据 gaussdb=# SELECT * FROM sections_t1; section | sec_name | manager_id | place_id ---------+--------------+------------+---------- 280 | Info support | 103 | 1400 280 | Info support | 103 | 280 (2 rows) --删除表 gaussdb=# DROP TABLE sections_t1; DROP TABLE
  • 语法 语法请参见图1。 图1 noselect::= using_clause子句的语法参见图2。 图2 using_clause::= 对以上语法格式的解释如下: USING IN bind_argument用于指定存放传递给动态SQL值的变量,在dynamic_noselect_string中存在占位符时使用,即动态SQL语句执行时,bind_argument将替换相对应的占位符。要注意的是,bind_argument只能是值、变量或表达式,不能是表名、列名和数据类型等数据库对象。如果存储过程需要通过声明参数传递数据库对象来构造动态SQL语句(常见于执行DDL语句时),建议采用连接运算符“||”拼接dynamic_select_clause。另外,动态语句允许出现重复的占位符,相同占位符只能与唯一一个bind_argument按位置一一对应。当设置guc参数behavior_compat_options值为dynamic_sql_compat时,会按照占位符的顺序依次匹配USING子句bind_argument,重复的占位符不会再识别为同一个占位符(占位符名不能使用带引号的数字、字符或字符串)。
  • 示例 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 --创建表 gaussdb=# CREATE TABLE sections_t1 ( section NUMBER(4) , section_name VARCHAR2(30), manager_id NUMBER(6), place_id NUMBER(4) ) DISTRIBUTE BY hash(manager_id); --声明变量 gaussdb=# DECLARE section NUMBER(4) := 280; section_name VARCHAR2(30) := 'Info support'; manager_id NUMBER(6) := 103; place_id NUMBER(4) := 1400; new_colname VARCHAR2(10) := 'sec_name'; BEGIN --执行查询 EXECUTE IMMEDIATE 'insert into sections_t1 values(:1, :2, :3, :4)' USING section, section_name, manager_id,place_id; --执行查询(重复占位符) EXECUTE IMMEDIATE 'insert into sections_t1 values(:1, :2, :3, :1)' USING section, section_name, manager_id; --执行ALTER语句(建议采用“||”拼接数据库对象构造DDL语句) EXECUTE IMMEDIATE 'alter table sections_t1 rename section_name to ' || new_colname; END; / ANONYMOUS BLOCK EXECUTE --查询数据 gaussdb=# SELECT * FROM sections_t1; section | sec_name | manager_id | place_id ---------+--------------+------------+---------- 280 | Info support | 103 | 1400 280 | Info support | 103 | 280 (2 rows) --删除表 gaussdb=# DROP TABLE sections_t1;
  • 语法 语法请参见图1。 图1 noselect::= using_clause子句的语法参见图2。 图2 using_clause::= 对以上语法格式的解释如下: USING IN bind_argument用于指定存放传递给动态SQL值的变量,在dynamic_noselect_string中存在占位符时使用,即动态SQL语句执行时,bind_argument将替换相对应的占位符。要注意的是,bind_argument只能是值、变量或表达式,不能是表名、列名、数据类型等数据库对象。如果存储过程需要通过声明参数传递数据库对象来构造动态SQL语句(常见于执行DDL语句时),建议采用连接运算符“||”拼接dynamic_select_clause。另外,动态语句允许出现重复的占位符,相同占位符只能与唯一一个bind_argument按位置一一对应。当设置guc参数behavior_compat_options值为dynamic_sql_compat时,会按照占位符的顺序依次匹配USING子句bind_argument,重复的占位符不会再识别为同一个占位符(占位符名不能使用带引号的数字、字符或字符串)。
  • 参数说明 参数 参数说明 ctx 表示给定的上下文。 query 被执行的SQL语句。 args 被执行SQL语句需要绑定的参数。支持按位置绑定和按名称绑定,详情见如下示例。 opts 事务隔离级别和事务访问模式,其中事务隔离级别(opts.Isolation)支持范围为sql.LevelReadUncommitted、sql.LevelReadCommitted、sql.LevelRepeatableRead、sql.LevelSerializable。事务访问模式(opts.ReadOnly)支持范围为true(read only)和false(read write)。 Query类接口Query()、QueryContext()、QueryRow()、QueryRowContext()通常用于查询语句,如SELECT语句。操作语句使用Exec()接口执行,若非查询语句通过Query类接口执行,则执行结果可能与预期不符,因此不建议使用Query类接口执行非查询语句,例如UPDATE/INSERT等。 使用Query类接口执行查询语句的结果需要通过type Rows中Next()接口获取,若不通过Next()接口获取,可能会产生不可预期的错误。
  • 示例 //本示例以用户名和密码保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量(环境变量名称请根据自身情况进行设置)。 package main //依赖包根据环境中依赖包路径设置。 import ( "database/sql" _ [go驱动模块名] /*请根据go驱动实际模块名替换*/ "log" ) func main() { hostip := os.Getenv("GOHOSTIP") //GOHOSTIP为写入环境变量的IP地址。 port := os.Getenv("GOPORT") //GOPORT为写入环境变量的port。 usrname := os.Getenv("GOUSRNAME") //GOUSRNAME为写入环境变量的用户名。 passwd := os.Getenv("GOPASSWD") //GOPASSWDW为写入环境变量的用户密码。 str := "host=" + hostip + " port=" + port + " user=" + usrname + " password=" + passwd + " dbname=gaussdb sslmode=disable" db, err := sql.Open("gaussdb", str) if err != nil { log.Fatal(err) } defer db.Close() err = db.Ping() if err != nil { log.Fatal(err) } _, err = db.Exec("create table test_bound(id int, name text)") // 按位置绑定 _, err = db.Exec("insert into test_bound(id, name) values(:1, :2)", 1, "张三") if err != nil { log.Fatal(err) } // 按名称绑定 _, err = db.Exec("insert into test_bound(id, name) values(:id, :name)", sql.Named("id", 1), sql.Named("name", "张三")) if err != nil { log.Fatal(err) } }
  • 唯一约束和唯一索引有什么区别? 答:唯一约束和唯一索引的主要区别如下: 唯一约束和唯一索引概念不同。 唯一约束确保一列或者一组列中包含的数据对于表中所有的行都是唯一的。 如果没有声明DISTRIBUTE BY REPLICATION,则唯一约束的列集合中必须包含分布列。唯一索引用于限制索引字段值的唯一性,或者是多个字段组合值的唯一性。CREATE UNIQUE INDEX创建唯一索引。 唯一约束和唯一索引功能不同。 约束主要是为了保证数据的完整性,索引主要是为了辅助查询。 唯一约束和唯一索引使用方法不同。 创建唯一约束,会自动创建一个同名的唯一索引,该索引不能单独删除,删除约束会自动删除索引。唯一约束是通过唯一索引来实现数据的唯一。 创建一个唯一索引,这个索引是独立的,并且可以单独删除。 如果一个列上想有约束和索引,且两者可以单独的删除。可以先建唯一索引,再建同名的唯一约束。 如果表的一个字段,要作为另外一个表的外键,这个字段必须有唯一约束(或是主键),如果只是有唯一索引,就会报错。 父主题: FAQ
  • DB_TYPES DB_TYPES视图显示当前用户可访问的对象类型的信息。所有用户都可以访问该视图。该视图同时存在于PG_CATA LOG 和SYS Schema下。 表1 DB_TYPES字段 名称 类型 描述 owner character varying(128) 类型的所有者。 type_name character varying(128) 类型名称。 type_oid raw 类型的标识符(OID)。 typecode character varying(128) 类型的类型代码。 attributes numeric 类型中的属性数。 methods numeric 暂不支持,值为0。 predefined character varying(3) 该类型是否是内置类型。 incomplete character varying(3) 该类型是否为不完整类型。 final character varying(3) 暂不支持,值为NULL。 instantiable character varying(3) 暂不支持,值为NULL。 persistable character varying(3) 暂不支持,值为NULL。 supertype_owner character varying(128) 暂不支持,值为NULL。 supertype_name character varying(128) 暂不支持,值为NULL。 local_attributes numeric 暂不支持,值为NULL。 local_methods numeric 暂不支持,值为NULL。 typeid raw 暂不支持,值为NULL。 父主题: 其他系统视图
  • GS_MY_ILMEVALUATIONDETAILS GS_MY_ILMEVALUATIONDETAILS视图描述ADO Task的评估详情信息,包含Task ID,策略信息、对象信息、评估结果以及ADO JOB名称。 表1 GS_MY_ILMEVALUATIONDETAILS字段 名称 类型 描述 task_id bigint ADO Task的ID。 policy_name character varying(128) ADO策略名称,系统自动生成,规则为:p+策略ID。 object_owner character varying(128) 数据对象所在Schema名称。 object_name character varying(128) 数据对象名称。 subobject_name character varying(128) 数据对象分区名称或二级分区名称。 object_type character varying(18) 数据对象类型: TABLE:表。 TABLE PARTITION:分区。 TABLE SUBPARTITION:二级分区。 selected_for_execution character varying(42) 评估结果: SELECTED FOR EXECUTION:评估通过。 PRECONDITION NOT SATISFIED:评估不通过。 JOB ALREADY EXISTS:任务已存在。 job_name character varying(128) 执行具体ADO Job的任务名称,当评估结果为评估通过时,此处有值。 comments character varying(4000) 预留字段。 父主题: OLTP表压缩
  • PG_PREPARED_XA CTS PG_PREPARED_XACTS视图显示当前准备好进行两阶段提交的事务的信息。具体字段信息如表1所示。 表1 PG_PREPARED_XACTS字段 名称 类型 引用 描述 transaction xid - 预备事务的数字标识。 gid text - 预备事务的全局标识。 prepared timestamp with time zone - 事务准备好提交的时间。 owner name PG_AUTHID.rolname 执行该事务的用户的名称。 database name PG_DATABASE.datname 执行该事务的数据库的名称。 父主题: 其他系统视图
  • 接口介绍 根据输入的参数,返回目标数据块中行的最后修改时间等信息,用于直观浏览每一行被判定为冷、热行的依据。该接口属于运维类接口,不做可见性判断,即传入的ctid为已删除的行时,该接口依然会返回当前行在页面上最新的状态。 表1 DBE_HEAT_MAP 接口名称 描述 ROW_HEAT_MAP 根据对象所属Schema、数据对象名称、数据对象分区名及ctid获取行的最后修改时间等信息。 DBE_HEAT_MAP.ROW_HEAT_MAP 根据对象所属Schema、数据对象名称、数据对象分区名及ctid获取行的最后修改时间等信息,原型为: 1 2 3 4 5 6 DBE_HEAT_MAP.ROW_HEAT_MAP( OWNER IN VARCHAR2, SEGMENT_NAME IN VARCHAR2, PARTITION_NAME IN VARCHAR2 DEFAULT NULL, CTID IN TEXT, V_DEBUG IN BOOL DEFAULT FALSE); 表2 DBE_HEAT_MAP.ROW_HEAT_MAP接口参数说明 参数 描述 OWNER 数据对象所属Schema。 SEGMENT_NAME 数据对象名称。 PARTITION_NAME 数据对象分区名,可选参数,默认为 NULL。 CTID 目标行的ctid,即block_id或row_id。 V_DEBUG debug调试,增加日志打印。 表3 DBE_HEAT_MAP.ROW_HEAT_MAP输出参数 参数 描述 OWNER 数据对象的所有者。 SEGMENT_NAME 数据对象名称。 PARTITION_NAME 数据对象分区名称,可选参数。 TABLESPACE_NAME 数据所属的表空间名称。 FILE_ID 行所属的绝对文件ID。 RELATIVE_FNO 行所属的相对文件ID( GaussDB 中无此逻辑,因此取值同上)。 CTID 行的ctid,即block_id或row_id。 WRITETIME 行的最后修改时间。
  • 注意事项 清除(PURGE)操作支持:表(PURGE TABLE)、索引(PURGE INDEX)、回收站(PURGE RECYCLEBIN)。 执行PURGE操作的权限要求如下: PURGE TABLE:用户必须是表的所有者,且用户必须拥有表所在模式的USAGE权限,当三权分立开关关闭时,系统管理员默认拥有此权限。 PURGE INDEX:用户必须是索引的所有者,用户必须拥有索引所在模式的USAGE权限,当三权分立开关关闭时,系统管理员默认拥有此权限。 PURGE RECYCLEBIN:普通用户只能清理回收站中当前用户拥有的对象,且用户必须拥有对象所在模式的USAGE权限,当三权分立开关关闭时,系统管理员默认可以清理回收站所有对象。
  • 示例 --创建表reason_t1。 gaussdb=# CREATE TABLE reason_t1( r_reason_sk integer, r_reason_id character(16), r_reason_desc character(100) ) WITH(STORAGE_TYPE = ustore); --创建表reason_t2。 gaussdb=# CREATE TABLE reason_t2( r_reason_sk integer, r_reason_id character(16), r_reason_desc character(100) ) WITH(STORAGE_TYPE = ustore); -- 对表reason_t1和reason_t2添加索引。 gaussdb=# CREATE INDEX idx_t1 on reason_t1(r_reason_id); gaussdb=# CREATE INDEX idx_t2 on reason_t2(r_reason_id); gaussdb=# DROP TABLE reason_t1; gaussdb=# DROP TABLE reason_t2; --查看回收站。 gaussdb=# SELECT rcyname,rcyoriginname,rcytablespace FROM GS_RECYCLEBIN; rcyname | rcyoriginname | rcytablespace ----------------------------+---------------+--------------- BIN$31C94EB4207$8001$0==$0 | reason_t1 | 0 BIN$31C94EB420D$8001$0==$0 | idx_t1 | 0 BIN$31C94EB420A$8004$0==$0 | reason_t2 | 0 BIN$31C94EB420E$8004$0==$0 | idx_t2 | 0 (4 rows) --PURGE清除表。 gaussdb=# PURGE TABLE reason_t1; gaussdb=# SELECT rcyname,rcyoriginname,rcytablespace FROM GS_RECYCLEBIN; rcyname | rcyoriginname | rcytablespace ----------------------------+---------------+--------------- BIN$31C94EB420A$8004$0==$0 | reason_t2 | 0 BIN$31C94EB420E$8004$0==$0 | idx_t2 | 0 (2 rows) --PURG清除索引。 gaussdb=# PURGE INDEX idx_t2; gaussdb=# SELECT rcyname,rcyoriginname,rcytablespace FROM GS_RECYCLEBIN; rcyname | rcyoriginname | rcytablespace ----------------------------+---------------+--------------- BIN$31C94EB420A$8004$0==$0 | reason_t2 | 0 (1 row) --PURGE清除回收站所有对象。 gaussdb=# PURGE recyclebin; gaussdb=# SELECT rcyname,rcyoriginname,rcytablespace FROM GS_RECYCLEBIN; rcyname | rcyoriginname | rcytablespace -----------------------+---------------+--------------- (0 rows)
  • 获取结果集中的数据 ResultSet对象提供了丰富的方法,以获取结果集中的数据。获取数据常用的方法如表4所示,其他方法请参见JDK官方文档。 表4 ResultSet对象的常用方法 方法 描述 getInt(int columnIndex) 按列标获取int型数据。 getInt(String columnLabel) 按列名获取int型数据。 getString(int columnIndex) 按列标获取String型数据。 getString(String columnLabel) 按列名获取String型数据。 getDate(int columnIndex) 按列标获取Date型数据。 getDate(String columnLabel) 按列名获取Date型数据。
  • 在结果集中定位 ResultSet对象具有指向其当前数据行的光标。最初,光标被置于第一行之前,next方法将光标移动到下一行。因为该方法在ResultSet对象没有下一行时返回false,所以可以在while循环中使用它来迭代结果集。但对于可滚动的结果集,JDBC驱动程序提供更多的定位方法,使ResultSet指向特定的行。定位方法如表2所示。 表2 在结果集中定位的方法 方法 描述 next() 把ResultSet向下移动一行。 previous() 把ResultSet向上移动一行。 beforeFirst() 把ResultSet定位到第一行之前。 afterLast() 把ResultSet定位到最后一行之后。 first() 把ResultSet定位到第一行。 last() 把ResultSet定位到最后一行。 absolute(int row) 把ResultSet移动到参数指定的行数。 relative(int rows) rows为正数表示把ResultSet向下移动rows行,rows为负数表示把ResultSet向上移动(-rows)行。
  • 获取结果集中光标的位置 对于可滚动的结果集,可调用定位方法来改变光标的位置。JDBC驱动程序提供了获取结果集中光标所处位置的方法。获取光标位置的方法如表3所示。 表3 获取结果集光标的位置 方法 描述 isFirst() 是否在第一行。 isLast() 是否在最后一行。 isBeforeFirst() 是否在第一行之前。 isAfterLast() 是否在最后一行之后。 getRow() 获取当前在第几行。
  • 设置结果集类型 不同类型的结果集有各自的应用场景,应用程序需要根据实际情况选择相应的结果集类型。在执行SQL语句过程中,需要先创建相应的语句对象,而部分创建语句对象的方法提供了设置结果集类型的功能。具体的参数设置如表1所示。涉及的Connection的方法如下: 1 2 3 4 5 6 7 8 //创建一个Statement对象,该对象将生成具有给定类型和并发性的ResultSet对象。 createStatement(int resultSetType, int resultSetConcurrency); //创建一个PreparedStatement对象,该对象将生成具有给定类型和并发性的ResultSet对象。 prepareStatement(String sql, int resultSetType, int resultSetConcurrency); //创建一个CallableStatement对象,该对象将生成具有给定类型和并发性的ResultSet对象。 prepareCall(String sql, int resultSetType, int resultSetConcurrency); 表1 结果集类型 参数 描述 resultSetType 表示结果集的类型,具体有三种类型: ResultSet.TYPE_FORWARD_ONLY:ResultSet只能向前移动。是缺省值。 ResultSet.TYPE_SCROLL_SENSITIVE:在修改后重新滚动到修改所在行,可以看到修改后的结果。 ResultSet.TYPE_SCROLL_INSENSITIVE:对可修改例程所做的编辑不进行显示。 说明: 结果集从数据库中读取了数据之后,即使类型是ResultSet.TYPE_SCROLL_SENSITIVE,也不会看到由其他事务在这之后引起的改变。调用ResultSet的refreshRow()方法,可进入数据库并从其中取得当前游标所指记录的最新数据。 resultSetConcurrency 表示结果集的并发,具体有两种类型: ResultSet.CONCUR_READ_ONLY:如果不从结果集中的数据建立一个新的更新语句,不能对结果集中的数据进行更新。 ResultSet.CONCUR_UPDATEABLE:可改变的结果集。对于可滚动的结果集,可对结果集进行适当的改变。
  • 参数说明 column_encryption_key_name 该参数作为密钥对象名,在同一命名空间下,需满足命名唯一性约束。 取值范围:字符串,要符合标识符命名规范。 client_master_key_name 指定用于重加密该CEK的新的CMK,取值为:CMK对象名,该CMK对象由CREATE CLIENT MASTER KEY语法创建。与密钥轮转前指定的客户端主密钥不为同一密钥。 国密算法约束: 由于SM2、SM3、SM4等算法属于中国国家密码标准算法,为规避法律风险,需配套使用。如果轮转CEK前使用的CMK是国密算法,则轮转CEK指定的CMK仍必须使用国密算法。
  • PG_STATIO_USER_SEQUEN CES PG_STATIO_USER_SEQUENCES视图显示命名空间中所有用户关系表序列的I/O状态信息。 表1 PG_STATIO_USER_SEQUENCES字段 名称 类型 描述 relid oid 序列OID。 schemaname name 序列中模式名。 relname name 序列名。 blks_read bigint 从序列中读取的磁盘块数。 blks_hit bigint 序列命中缓存数。 父主题: 其他系统视图
  • WLM_RESOURCEPOOL_RUNTIME WLM_RESOURCEPOOL_RUNTIME视图显示资源池上的一些统计信息,如表1所示。 表1 WLM_RESOURCEPOOL_RUNTIME的字段 名称 类型 描述 rpoid oid 资源池的OID。 respool name 资源池的名称。 control_group name 资源池的控制组。 parentid oid 父资源池的OID。 ref_count integer 关联到该资源池上的作业数量。 active_points integer 资源池上已经使用的点数。 running_count integer 正在资源池上运行的作业数量。 waiting_count integer 正在资源池上排队的作业数量。 io_limits integer 资源池的iops上限。 io_priority integer 资源池的I/O优先级。 父主题: Workload Manager
  • GS_AUDITING_POLICY_FILTERS GS_AUDITING_POLICY_FILTERS系统表记录统一审计相关的过滤策略相关信息,每条记录对应一个设计策略。需要有系统管理员或安全策略管理员权限才可以访问此系统表。 表1 GS_AUDITING_POLICY_FILTERS字段 名称 类型 描述 oid oid 行标识符(隐含属性,必须明确选择)。 filtertype name 过滤类型。目前值仅为logical_expr。 labelname name 名称。目前值仅为logical_expr。 policyoid oid 所属审计策略的oid,对应系统表13.2.9.1 GS_AUDITING_POLICY中的oid。 modifydate timestamp without time zone 创建或修改的最新时间戳。 logicaloperator text 过滤条件的逻辑字符串。 父主题: 审计
  • 选择数据类型 高效数据类型,主要包括以下三方面: 尽量使用执行效率比较高的数据类型 一般来说整型数据运算(包括“=”、“>”、“<”、“≧”、“≦”、“≠”等常规的比较运算,以及group by)的效率比字符串、浮点数要高。 尽量使用短字段的数据类型 长度较短的数据类型不仅可以减小数据文件的大小,提升I/O性能,同时也可以减小相关计算时的内存消耗,提升计算性能。比如对于整型数据,如果可以用smallint就尽量不用int,如果可以用int就尽量不用bigint。 使用一致的数据类型 表关联列尽量使用相同的数据类型。如果表关联列数据类型不同,数据库必须动态地转化为相同的数据类型进行比较,这种转换会带来一定的性能开销。 父主题: 审视和修改表定义
  • GS_RECYCLEBIN GS_RECYCLEBIN描述了回收站对象的详细信息。 表1 gs_recyclebin字段 名称 类型 描述 oid oid 系统列。 rcybaseid oid 基表对象id,引用gs_recyclebin.oid。 rcydbid oid 当前对象所属数据库oid。 rcyrelid oid 当前对象oid。 rcyname name 回收站对象名称,格式“BIN$unique_id$oid$0”,其中unique_id为最多16字符唯一标识,oid为对象标识符。 rcyoriginname name 原始对象名称。 rcyoperation "char" 操作类型。 d表示drop。 t表示truncate。 rcytype integer 对象类型。 0表示table。 1表示index。 2表示toast table。 3表示toast index。 4表示sequence,指serial、bigserial、smallserial、largeserial类型自动关联的序列对象。 5表示partition。 6表示global index。 7表示物化视图。 rcyrecyclecsn bigint 对象drop、truncate时csn。 rcyrecycletime timestamp with time zone 对象drop、truncate时间。 rcycreatecsn bigint 对象创建时csn。 rcychangecsn bigint 对象定义改变的csn。 rcynamespace oid 包含这个关系的名字空间的OID。 rcyowner oid 关系所有者。 rcytablespace oid 这个关系存储所在的表空间。如果为0,则意味着使用该数据库的缺省表空间。如果关系在磁盘上没有文件,则这个字段没有什么意义。 rcyrelfilenode oid 回收站对象在磁盘上的文件的名称,如果没有则为0,用于TRUNCATE对象恢复时物理文件还原。 rcycanrestore boolean 是否可以被单独闪回。 rcycanpurge boolean 是否可以被单独purge。 rcyfrozenxid xid32 该表中所有在这个之前的事务ID已经被一个固定的("frozen")事务ID替换。 rcyfrozenxid64 xid 该表中所有在这个之前的事务ID已经被一个固定的("frozen")事务ID替换。 rcybucket oid 13.2.15.41 PG_HASHBUCKET中的桶信息。 父主题: 其他系统表
  • DB_IND_EXPRESSIONS DB_IND_EXPRESSIONS视图显示当前用户可访问的表达式索引的信息。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 DB_IND_EXPRESSIONS字段 名称 类型 描述 index_owner character varying(64) 索引的所有者。 index_name character varying(64) 索引名。 table_owner character varying(64) 表的所有者。 table_name character varying(64) 表名。 column_expression text 定义列的基于函数的索引表达式。 column_position smallint 索引中列的位置。 父主题: 其他系统视图
  • STATEMENT_COUNT 显示数据库当前节点当前时刻执行的五类语句(SELECT、INSERT、UPDATE、DELETE、MERGE INTO)和(DDL、DML、DCL)统计信息,如表1所示。多租场景下,non-PDB访问该视图时返回全部信息,PDB访问该视图时仅返回该PDB相关信息。 管理员权限用户查询STATEMENT_COUNT视图则能看到所有用户当前节点的统计信息。当数据库或该节点重启时,计数将清零,并重新开始计数。计数以节点收到的查询数为准,数据库内部进行的查询。例如,数据库主节点收到一条查询,若该查询包含多条子查询,那将在数据库节点上进行相应次数的计数。 表1 STATEMENT_COUNT字段 名称 类型 描述 node_name text 节点名称。 user_name text 用户名。 select_count BIGINT SELECT语句统计结果。 update_count BIGINT UPDATE语句统计结果。 insert_count BIGINT INSERT语句统计结果。 delete_count BIGINT DELETE语句统计结果。 mergeinto_count BIGINT MERGE INTO语句统计结果。 ddl_count BIGINT DDL语句的数量。该统计结果包含用户执行的SQL语句和数据库后台线程执行的SQL语句。 dml_count BIGINT DML语句的数量。该统计结果包含用户执行的SQL语句和数据库后台线程执行的SQL语句。 dcl_count BIGINT DCL语句的数量。该统计结果包含用户执行的SQL语句和数据库后台线程执行的SQL语句。 total_select_elapse BIGINT 总SELECT的时间花费(单位:微秒)。 avg_select_elapse BIGINT 平均SELECT的时间花费(单位:微秒)。 max_select_elapse BIGINT 最大SELECT的时间花费(单位:微秒)。 min_select_elapse BIGINT 最小SELECT的时间花费(单位:微秒)。 total_update_elapse BIGINT 总UPDATE的时间花费(单位:微秒)。 avg_update_elapse BIGINT 平均UPDATE的时间花费(单位:微秒)。 max_update_elapse BIGINT 最大UPDATE的时间花费(单位:微秒)。 min_update_elapse BIGINT 最小UPDATE的时间花费(单位:微秒)。 total_insert_elapse BIGINT 总INSERT的时间花费(单位:微秒)。 avg_insert_elapse BIGINT 平均INSERT的时间花费(单位:微秒)。 max_insert_elapse BIGINT 最大INSERT的时间花费(单位:微秒)。 min_insert_elapse BIGINT 最小INSERT的时间花费(单位:微秒)。 total_delete_elapse BIGINT 总DELETE的时间花费(单位:微秒)。 avg_delete_elapse BIGINT 平均DELETE的时间花费(单位:微秒)。 max_delete_elapse BIGINT 最大DELETE的时间花费(单位:微秒)。 min_delete_elapse BIGINT 最小DELETE的时间花费(单位:微秒)。 dbid oid 统计的五类语句(SELECT、INSERT、UPDATE、DELETE、MERGE INTO)所属的数据库id。 user_dml_count BIGINT 用户执行的DML语句的数量。 bg_dml_count BIGINT 数据库后台线程执行的DML语句的数量。 父主题: Query
  • java.sql.PreparedStatement java.sql.PreparedStatement是预处理语句接口。 表1 对java.sql.PreparedStatement的支持情况 方法名 返回值类型 支持JDBC4 clearParameters() void Yes execute() Boolean Yes executeQuery() ResultSet Yes excuteUpdate() int Yes executeLargeUpdate() long No getMetaData() ResultSetMetaData Yes getParameterMetaData() ParameterMetaData Yes setArray(int parameterIndex, Array x) void Yes setAsciiStream(int parameterIndex, InputStream x, int length) void Yes setBinaryStream(int parameterIndex, InputStream x) void Yes setBinaryStream(int parameterIndex, InputStream x, int length) void Yes setBinaryStream(int parameterIndex, InputStream x, long length) void Yes setBlob(int parameterIndex, InputStream inputStream) void Yes setBlob(int parameterIndex, InputStream inputStream, long length) void Yes setBlob(int parameterIndex, Blob x) void Yes setCharacterStream(int parameterIndex, Reader reader) void Yes setCharacterStream(int parameterIndex, Reader reader, int length) void Yes setClob(int parameterIndex, Reader reader) void Yes setClob(int parameterIndex, Reader reader, long length) void Yes setClob(int parameterIndex, Clob x) void Yes setDate(int parameterIndex, Date x, Calendar cal) void Yes setNull(int parameterIndex, int sqlType) void Yes setNull(int parameterIndex, int sqlType, String typeName) void Yes setObject(int parameterIndex, Object x) void Yes setObject(int parameterIndex, Object x, int targetSqlType) void Yes setObject(int parameterIndex, Object x, int targetSqlType, int scaleOrLength) void Yes setSQLXML(int parameterIndex, SQLXML xmlObject) void Yes setTime(int parameterIndex, Time x) void Yes setTime(int parameterIndex, Time x, Calendar cal) void Yes setTimestamp(int parameterIndex, Timestamp x) void Yes setTimestamp(int parameterIndex, Timestamp x, Calendar cal) void Yes setUnicodeStream(int parameterIndex, InputStream x, int length) void Yes setURL(int parameterIndex, URL x) void Yes setBoolean(int parameterIndex, boolean x) void Yes setBigDecimal(int parameterIndex, BigDecimal x) void Yes setByte(int parameterIndex, byte x) void Yes setBytes(int parameterIndex, byte[] x) void Yes setDate(int parameterIndex, Date x) void Yes setDouble(int parameterIndex, double x) void Yes setFloat(int parameterIndex, float x) void Yes setInt(int parameterIndex, int x) void Yes setLong(int parameterIndex, long x) void Yes setShort(int parameterIndex, short x) void Yes setString(int parameterIndex, String x) void Yes setNString(int parameterIndex, String x) void Yes addBatch() void Yes executeBatch() int[] Yes addBatch()、execute()必须在clearBatch()之后才能执行。 调用executeBatch()方法并不会清除batch。用户必须显式使用clearBatch()清除。 在添加了一个batch的绑定变量后,用户若想重用这些值(再次添加一个batch),无需再次使用set*()方法。 以下方法是从java.sql.Statement继承而来:close、execute、executeQuery、executeUpdate、getConnection、getResultSet、getUpdateCount、isClosed、setMaxRows、setFetchSize、enableStreamingResults。 executeLargeUpdate()方法必须在JDBC4.2及以上版本使用。 父主题: JDBC接口参考
  • 示例 显示用字母t和f输出Boolean值。 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 --创建表。 gaussdb=# CREATE TABLE bool_type_t1 ( BT_COL1 BOOLEAN, BT_COL2 TEXT ); --插入数据。 gaussdb=# INSERT INTO bool_type_t1 VALUES (TRUE, 'sic est'); gaussdb=# INSERT INTO bool_type_t1 VALUES (FALSE, 'non est'); --查看数据。 gaussdb=# SELECT * FROM bool_type_t1; bt_col1 | bt_col2 ---------+--------- t | sic est f | non est (2 rows) gaussdb=# SELECT * FROM bool_type_t1 WHERE bt_col1 = 't'; bt_col1 | bt_col2 ---------+--------- t | sic est (1 row) --删除表。 gaussdb=# DROP TABLE bool_type_t1;
  • GS_MY_ILMPOLICIES GS_MY_ILMPOLICIES视图反映ILM策略的概要信息,包含策略名称、类型、启用禁用状态、删除状态。 表1 GS_MY_ILMPOLICIES 名称 类型 描述 policy_name character varying(128) ADO策略名称,系统自动生成,规则为:p+策略ID。 policy_type character varying(13) 策略类型。 tablespace character varying(30) 表空间名称,当该策略制定在表空间上时此处有值。当前版本值为null。 enabled character varying(6) 策略是否开启。 deleted character varying(7) 策略是否被删除。 node_name name 数据来源节点的名称。 父主题: OLTP表压缩
  • ADM_AUDIT_OBJECT ADM_AUDIT_OBJECT显示数据库中所有对象的审计跟踪记录, 该视图同时存在于pg_catalog和sys schema下。默认只有系统管理员权限才可以访问,普通用户需要授权才可以访问。 表1 ADM_AUDIT_OBJECT字段 名称 类型 描述 os_username character varying(255) 暂不支持,值为NULL。 username character varying(128) 操作被审计的用户的名称,不是用户ID。 userhost character varying(128) 暂不支持,值为NULL。 terminal character varying(255) 暂不支持,值为NULL。 timestamp timestamp(0) without time zone 在本地数据库会话时区中创建审计跟踪条目的日期和时间(审计会话创建的条目的用户登录日期和时间)。 owner character varying(128) 受操作影响的对象的创建者。 obj_name character varying(128) 受操作影响的对象的名称。 action_name character varying(28) DBA_AUDIT_TRAIL中的“操作”列中的数字代码对应的动作类型名称。 说明: GaussDB的action_name字段与A数据库审计动作不一致。 new_owner character varying(128) 暂不支持,值为NULL。 new_name character varying(128) 暂不支持,值为NULL。 ses_actions character varying(19) 暂不支持,值为NULL。 comment_text character varying(4000) 暂不支持,值为NULL。 sessionid numeric 暂不支持,值为NULL。 entryid numeric 暂不支持,值为NULL。 statementid numeric 暂不支持,值为NULL。 returncode numeric 暂不支持,值为NULL。 priv_used character varying(40) 暂不支持,值为NULL。 client_id character varying(128) 暂不支持,值为NULL。 econtext_id character varying(64) 暂不支持,值为NULL。 session_cpu numeric 暂不支持,值为NULL。 extended_timestamp timestamp(6) with time zone 在UTC(协调世界时)时区创建审计跟踪条目的时间戳(审计会话创建的条目的用户登录时间戳)。 proxy_sessionid numeric 暂不支持,值为NULL。 global_uid character varying(32) 暂不支持,值为NULL。 instance_number numeric 暂不支持,值为NULL。 os_process character varying(16) 暂不支持,值为NULL。 transactionid text 访问或修改对象事务的事务标识符。 说明: GaussDB的transactionid字段与A数据库中transactionid数据的类型保持一致。 scn numeric 暂不支持,值为NULL。 sql_bind nvarchar2(2000) 暂不支持,值为NULL。 sql_text character varying 查询的SQL文本。 说明: GaussDB的sql_text字段为解析后的SQL描述语句,不完全与执行的SQL语句相同。 obj_edition_name character varying(128) 暂不支持,值为NULL。 父主题: 审计
共100000条