华为云用户手册

  • ignore_system_indexes 参数说明:设置读取系统表时是否忽略系统索引(但是修改系统表时依然同时修改索引)。 这个参数在从系统索引被破坏的表中恢复数据的时候非常有用。 参数类型:布尔型 参数单位:无 取值范围: on:表示忽略系统索引。 off:表示不忽略系统索引。 默认值:off 设置方式:该参数属于BACKEND类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
  • trace_notify 参数说明:设置是否为LISTEN和NOTIFY命令生成大量调试输出。client_min_messages或log_min_messages级别必须是DEBUG1或者更低,才能把这些输出分别发送到客户端或者服务器日志。 参数类型:布尔型 参数单位:无 取值范围: on:表示打开输出功能。 off:表示关闭输出功能。 默认值:off 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
  • debug_assertions 参数说明:设置是否打开各种断言检查。要使用这个参数,必须在编译 GaussDB 的时候定义宏USE_ASSERT_CHECKING(通过configure选项 --enable-cassert完成)。 参数类型:布尔型 参数单位:无 取值范围: on:表示打开断言检查。 off:表示不打开断言检查。 默认值:off 当启用断言选项编译GaussDB时,debug_assertions默认值为on 。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:该功能能够协助调试,当遇到异常或者崩溃的问题时,请打开此参数,用以定位程序的错误。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
  • allow_create_sysobject 参数说明:设置是否允许在系统模式下创建或修改函数、存储过程、同义词等对象。此处的系统模式指数据库初始后自带的模式,但不包含public模式。系统模式的oid通常小于16384。 参数类型:布尔型 参数单位:无 取值范围: on:表示允许初始用户和系统管理员在系统模式下创建或修改函数、存储过程、同义词等对象。sysadmin用户默认具有create or replace/alter/grant/revoke系统对象的权限。其他用户是否允许创建这些对象请参考对应模式的权限要求。 off:表示禁止所有用户在系统模式下创建或修改函数、存储过程、同义词等对象。sysadmin用户默认不具有create or replace/alter/grant/revoke系统对象的权限。 默认值:on 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
  • allow_system_table_mods 参数说明:设置是否允许修改系统表的结构和系统自带模式的名称。 参数类型:布尔型 参数单位:无 取值范围: on:表示允许修改系统表的结构和系统自带模式的名称。 off:表示不允许修改系统表的结构和系统自带模式的名称。 默认值:off 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:不建议用户修改该参数设置。 设置不当的风险与影响:该参数打开后,可能导致系统表损坏,甚至数据库无法启动等严重问题。
  • LOCAL_THREADPOOL_STATUS LOCAL_THREADPOOL_STATUS视图显示线程池中工作线程及会话的状态信息,如表1所示。该视图仅在线程池开启(enable_thread_pool=on)时生效。 表1 LOCAL_THREADPOOL_STATUS字段 名称 类型 描述 node_name text 节点名称。 group_id integer 线程池组ID。 bind_numa_id integer 该线程池组绑定的NUMA ID。 bind_cpu_number integer 该线程池组绑定的CPU信息。如果未绑定CPU,该值为NULL。 listener integer 该线程池组的Listener线程数量。 worker_info text 线程池中线程相关信息,包括以下信息: default:该线程池组中的初始线程数量。 new:该线程池组中新增线程的数量。 expect:该线程池组中预期线程的数量。 actual:该线程池组中实际线程的数量。 idle:该线程池组中空闲线程的数量。 pending:该线程池组中等待线程的数量。 session_info text 线程池中会话相关信息,包括以下信息: total:该线程池组中所有的会话数量。 waiting:该线程池组中等待调度的会话数量。 running:该线程池中正在执行的会话数量。 idle:该线程池组中空闲的会话数量。 stream_info text Stream线程池相关信息,包括以下信息: total:该线程池组中所有的stream线程数量。 running:该线程池组中当前正在工作的stream线程数量。 idle:该线程池组中空闲的stream线程数量。 线程池存在动态扩缩容机制,当扩容出来的新增线程空闲时,线程池会在3分钟左右进行缩容。动态缩容后,线程池总线程数量不会低于初始线程数量。 父主题: Session/Thread
  • get_global_last_value_from_gtm(sequence_regclass regclass, OUT is_called boolean, OUT last_value numeric) 描述:从GTM获取序列是否调用过的标记位和已申请的序列最新值。 参数:表示待查询序列的序列名或OID。 返回类型:Boolean、numeric 从不支持get_global_last_value_from_gtm的版本升级到支持get_global_last_value_from_gtm的版本时,在升级观察期期间,不可使用此函数。 get_global_last_value_from_gtm函数每次调用都需要与GTM进行通信,不建议频繁执行。 序列已申请的最新值,不一定表示已使用的最大值。如果序列的cache大于1,且节点申请的序列值没有用完,这种情况将会留下未使用的“空洞”。
  • nextval(regclass) 描述:递增序列并返回新值。 为了避免从同一个序列获取值的并发事务被阻塞, nextval操作不会回滚;即一旦值被抓取就认为其已经被使用过,并且不会再被返回。 即使该操作处于事务中,当事务之后中断,或者如果调用查询结束不使用该值,也是如此。这种情况将在指定值的顺序中留下未使用的“空洞”。 因此,GaussDB序列对象不能用于获得“无间隙”序列。 如果nextval被下推到DN上时,各个DN会自动连接GTM,请求next values值,例如(insert into t1 select xxx,t1某一列需要调用nextval函数),由于GTM上有最大连接数为8192的限制,而这类下推语句会导致消耗过多的GTM连接数,因此对于这类语句的并发数目限制为7000(其它语句需要占用部分连接)/集群DN数目。 返回类型:numeric nextval函数有两种调用方式(其中第二种调用方式兼容ORA的语法,目前不支持Sequence命名中有特殊字符"."的情况),如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 gaussdb=# CREATE SEQUENCE seqDemo; --示例1: gaussdb=# SELECT nextval('seqDemo'); nextval --------- 1 (1 row) --示例2: gaussdb=# SELECT seqDemo.nextval; nextval --------- 2 (1 row) gaussdb=# DROP SEQUENCE seqDemo;
  • lastval() 描述:返回当前会话里最近一次nextval返回的数值。这个函数等效于currval,只是它不用序列名为参数,它抓取当前会话里面最近一次nextval使用的序列。如果当前会话还没有调用过nextval,那么调用lastval将会报错。 需要注意的是,这个函数在默认情况下是不支持的,需要通过设置enable_beta_features或者lastval_supported为true之后,才能使用这个函数。同时这种情况下,nextval()函数将不支持下推。 返回类型:numeric 示例: 1 2 3 4 5 6 7 8 9 10 gaussdb=# CREATE SEQUENCE seq1; gaussdb=# SELECT nextval('seq1'); gaussdb=# SET enable_beta_features = true; gaussdb=# SELECT lastval(); lastval --------- 1 (1 row) gaussdb=# DROP SEQUENCE seq1; gaussdb=# SET enable_beta_features = false;
  • setval(regclass, bigint) 描述:设置序列的当前数值。 返回类型:numeric 示例: 1 2 3 4 5 6 7 8 gaussdb=# CREATE SEQUENCE seqDemo; gaussdb=# SELECT nextval('seqDemo'); gaussdb=# SELECT setval('seqDemo',3); setval -------- 3 (1 row) gaussdb=# DROP SEQUENCE seqDemo;
  • setval(regclass, numeric, Boolean) 描述:设置序列的当前数值以及is_called标志。 返回类型:numeric 示例: 1 2 3 4 5 6 7 8 gaussdb=# CREATE SEQUENCE seqDemo; gaussdb=# SELECT nextval('seqDemo'); gaussdb=# SELECT setval('seqDemo',5,true); setval -------- 5 (1 row) gaussdb=# DROP SEQUENCE seqDemo; Setval后当前会话及GTM上会立刻生效,但如果其他会话有缓存的序列值,只能等到缓存值用尽才能感知Setval的作用。所以为了避免序列值冲突,setval要谨慎使用。 因为序列是非事务的,setval造成的改变不会由于事务的回滚而撤销。
  • currval(regclass) 描述:返回当前会话里最近一次nextval返回的数值。如果当前会话还没有调用过指定的sequence的nextval,那么调用currval将会报错。需要注意的是,这个函数在默认情况下是不支持的,需要通过设置enable_beta_features为true之后,才能使用这个函数。同时在设置enable_beta_features为true之后,nextval()函数将不支持下推。 返回类型:numeric currval函数有两种调用方式(其中第二种调用方式兼容ORA的语法,目前不支持Sequence命名中有特殊字符"."的情况),如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 gaussdb=# CREATE SEQUENCE seq1; gaussdb=# SELECT nextval('seq1'); gaussdb=# SET enable_beta_features = true; --示例1: gaussdb=# SELECT currval('seq1'); currval --------- 1 (1 row) --示例2: gaussdb=# SELECT seq1.currval seq1; seq1 ------ 1 (1 row) gaussdb=# DROP SEQUENCE seq1; gaussdb=# SET enable_beta_features = false;
  • PGXC_STAT_BAD_BLOCK PGXC_STAT_BAD_BLOCK视图显示集群所有节点从启动后,在读取数据时出现Page校验失败的统计信息。该视图只有monitor admin和sysadmin权限可以查看。具体字段信息如表1所示。 表1 PGXC_STAT_BAD_BLOCK字段 名称 类型 描述 nodename text 节点名。 databaseid integer 数据库OID。 tablespaceid integer 表空间OID。 relfilenode integer 文件对象id。 forknum integer 文件类型,具体取值如下所示: 0:数据主文件。 1:FSM文件。 2:VM文件。 3:BCM文件。 error_count integer 出现校验失败的次数。 first_time timestamp with time zone 第一次出现的时间。 last_time timestamp with time zone 最近一次出现的时间。 父主题: 其他系统视图
  • GLOBAL_SQL_PATCH GLOBAL_SQL_PATCH视图显示所有SQL PATCH的信息,该视图仅在PG_CATA LOG 模式下存在。 表1 GLOBAL_SQL_PATCH字段 名称 类型 描述 node_name text SQL PATCH所在节点的名称。 patch_name name SQL PATCH的名称。 unique_sql_id bigint 查询全局唯一ID。 owner oid SQL PATCH创建用户的ID。 enable boolean SQL PATCH是否生效。 status "char" SQL PATCH的状态(预留字段)。 abort boolean 是否是废弃的Hint。 hint_string text Hint文本。 description text SQL PATCH的备注。 parent_unique_sql_id bigint SQL PATCH生效的SQL语句的外层语句的全局唯一ID。 对于存储过程外的语句,该值为0。 对于存储过程内的语句,该值为调用该存储过程语句的全局唯一ID。 父主题: 其他系统视图
  • DBE_PLDEBUGGER.info_locals debug端调试过程中,调用info_locals,打印当前存储过程内变量。该函数入参frameno表示查询遍历的栈层数,支持无入参调用,缺省为查看最上层栈变量,如表1所示。 表1 info_locals入参和返回值列表 名称 类型 描述 frameno IN integer (可选) 指定的栈层数,缺省为最顶层。 varname OUT text 变量名。 vartype OUT text 变量类型。 value OUT text 变量值。 package_name OUT text 变量对应的package名,非package时为空。 isconst OUT boolean 是否为常量。 父主题: DBE_PLDEBUGGER Schema
  • ADM_DEPENDENCIES ADM_DEPENDENCIES视图显示数据库中的类型、表、视图、存储过程、函数、触发器之间的依赖关系。默认只有系统管理员权限才可以访问,普通用户需要授权才可以访问。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 ADM_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。 父主题: 其他系统视图
  • 示例 声明用于查询的游标示例: EXEC SQL DECLARE C CURSOR FOR SELECT * FROM My_Table; EXEC SQL DECLARE C CURSOR FOR SELECT Item1 FROM T; EXEC SQL DECLARE cur1 CURSOR FOR SELECT version(); 声明用于预备语句的游标示例: EXEC SQL PREPARE stmt1 AS SELECT version(); EXEC SQL DECLARE cur1 CURSOR FOR stmt1;
  • 示例 创建一个名为seq1的递增序列,从101开始,步长为10。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 gaussdb=# CREATE SEQUENCE seq1 START 101 INCREMENT 10; --从序列中选出下一个数字: gaussdb=# SELECT nextval('seq1'); nextval --------- 101 (1 row) gaussdb=# SELECT nextval('seq1'); nextval --------- 111 --删除序列。 gaussdb=# DROP SEQUENCE seq1; 表自增列的一种实现。 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 --创建表。 gaussdb=# CREATE TABLE test1(id int PRIMARY KEY, name varchar(20)); --创建与表关联的序列。 gaussdb=# CREATE SEQUENCE test_seq2 START 1 NO CYCLE OWNED BY test1.id; --设置字段的默认值。 gaussdb=# ALTER TABLE test1 ALTER COLUMN id SET DEFAULT nextval('test_seq2'::regclass); -- 插入数据。 gaussdb=# INSERT INTO test1 (name) values ('Joe'),('Scott'),('Ben'); --查询。 gaussdb=# SELECT * FROM test1; id | name ----+------- 3 | Ben 1 | Joe 2 | Scott (3 rows) --删除序列和表。 gaussdb=# DROP SEQUENCE test_seq2 CASCADE; gaussdb=# DROP TABLE test1; 序列的循环。 --创建一个递增序列seq_test1,最大值为3,且可以循环。 gaussdb=# CREATE SEQUENCE seq_test1 START 1 MAXVALUE 3 CYCLE; --建表,并插数据。 gaussdb=# CREATE TABLE tbl_test1( c1 int DEFAULT nextval('seq_test1'), c2 varchar ); gaussdb=# INSERT INTO tbl_test1 (c2) values ('test'); gaussdb=# INSERT INTO tbl_test1 (c2) values ('test'); gaussdb=# INSERT INTO tbl_test1 (c2) values ('test'); gaussdb=# INSERT INTO tbl_test1 (c2) values ('test'); gaussdb=# INSERT INTO tbl_test1 (c2) values ('test'); --查询表数据,当递增序列seq_test的值达到最大值后会重新从最小值开始。 gaussdb=# SELECT ctid,* FROM tbl_test1 ORDER BY 1,2; ctid | c1 | c2 -------+----+------ (0,1) | 1 | test (0,1) | 3 | test (0,2) | 2 | test (0,3) | 1 | test (0,4) | 2 | test (5 rows) --删除表和序列。 gaussdb=# DROP TABLE tbl_test1; gaussdb=# DROP SEQUENCE seq_test1;
  • 参数说明 IF NOT EXISTS 如果指定IF NOT EXISTS关键字,创建序列前会在当前SCHEMA中查找是否已有名字相同的relation。若已有同名relation存在,则不会新建,返回NOTICE提示。未指定IF NOT EXISTS关键字时,若SCHEMA中存在同名relation,返回ERROR告警。 name 将要创建的序列名称。 取值范围: 仅可以使用小写字母(a~z)、 大写字母(A~Z)、数字和特殊字符“#” 、“_”、“$”的组合。 increment 可选。指定序列的步长。一个正数将生成一个递增的序列,一个负数将生成一个递减的序列。 缺省值为1。 在MYSQL兼容模式下,步长为浮点数时会自动转为整型。其他模式下,该参数不支持输入浮点数。 MINVALUE minvalue | NO MINVALUE| NOMINVALUE 可选。执行序列的最小值。如果没有声明minvalue或者声明了NO MINVALUE,则递增序列的缺省值为1,递减序列的缺省值为-263-1。NOMINVALUE等价于NO MINVALUE。 MAXVALUE maxvalue | NO MAXVALUE| NOMAXVALUE 可选。执行序列的最大值。如果没有声明maxvalue或者声明了NO MAXVALUE,则递增序列的缺省值为263-1,递减序列的缺省值为-1。NOMAXVALUE等价于NO MAXVALUE。 start 可选。指定序列的起始值。缺省值:对于递增序列为minvalue,递减序列为maxvalue。 cache 可选。为了快速访问,而在内存中预先存储序列号的个数。 缺省值为1,表示一次只能生成一个值,也就是没有缓存。 不建议同时定义cache和maxvalue或minvalue。因为定义cache后不能保证序列的连续性,可能会产生空洞,造成序列号段浪费。如对并发性能有要求,请同时参考guc参数session_sequence_cache。 cache指定了单CN/DN一次向GTM中申请的值;session_sequence_cache指定的是单个会话一次向CN/DN申请缓存的值,会话结束后会自动丢弃。 CYCLE 可选。用于使序列达到maxvalue或者minvalue后可循环并继续下去。 如果声明了NO CYCLE,则在序列达到其最大值后任何对nextval的调用都会返回一个错误。 NOCYCLE的作用等价于NO CYCLE。缺省值为NO CYCLE。 若定义序列为CYCLE,则不能保证序列的唯一性。 OWNED BY 可选。将序列和一个表的指定字段进行关联。这样,在删除该字段或其所在表的时候会自动删除已关联的序列。关联的表和序列的所有者必须是同一个用户,并且在同一个模式中。需要注意的是,通过指定OWNED BY,仅仅是建立了表的对应列和SEQUENCE之间关联关系,并不会在插入数据时在该列上产生自增序列。 缺省值为OWNED BY NONE,表示不存在这样的关联。 通过OWNED BY创建的SEQUENCE不建议用于其他表,如果希望多个表共享SEQUENCE,该SEQUENCE不应该从属于特定表。
  • 注意事项 SEQUENCE是一个存放等差数列的特殊表。这个表没有实际意义,通常用于为行或者表生成唯一的标识符。 如果给出一个模式名,则该序列就在给定的模式中创建,否则会在当前模式中创建。序列名必须和同一个模式中的其他序列、表、索引、视图或外表的名称不同。 创建序列后,在表中使用序列的nextval()函数和generate_series(1,N)函数对表插入数据,请保证nextval的可调用次数大于等于N+1次,否则会因为generate_series()函数会调用N+1次而导致报错。 被授予CREATE ANY SEQUENCE权限的用户,可以在public模式和用户模式下创建序列。
  • 语法格式 1 2 3 4 CREATE SEQUENCE [ IF NOT EXISTS ] name [ INCREMENT [ BY ] increment ] [ MINVALUE minvalue | NO MINVALUE | NOMINVALUE ] [ MAXVALUE maxvalue | NO MAXVALUE | NOMAXVALUE] [ START [ WITH ] start ] [ CACHE cache ] [ [ NO ] CYCLE | NOCYCLE ] [ OWNED BY { table_name.column_name | NONE } ];
  • GLOBAL_STATIO_SYS_SEQUEN CES GLOBAL_STATIO_SYS_SEQUENCES视图显示各节点的命名空间中所有系统序列的I/O状态信息,如表1所示。 表1 GLOBAL_STATIO_SYS_SEQUENCES字段 名称 类型 描述 node_name name 节点名称。 relid oid 序列OID。 schemaname name 序列中模式名。 relname name 序列名。 blks_read bigint 从序列中读取的磁盘块数。 blks_hit bigint 序列中缓存命中数。 父主题: Cache/IO
  • GS_AUDITING_ACCESS GS_AUDITING_ACCESS视图显示对数据库DML相关操作的所有审计信息。需要有系统管理员或安全策略管理员权限才可以访问此视图。 表1 GS_AUDITING_ACCESS字段 名称 类型 描述 polname name 策略名称,需要唯一,不可重复。 pol_type text 审计策略类型。值为‘access’,表示审计DML操作。 polenabled boolean 用来表示策略开关是否启动。 t(true):表示启动。 f(false):表示不启动。 access_type name DML数据库操作相关类型。例如,SELECT、INSERT、DELETE等。 label_name name 资源标签名称。对应系统表gs_auditing_policy中的polname字段。 access_object text 数据库资产的路径。 filter_name text 过滤条件的逻辑字符串。 父主题: 审计
  • 参数说明 policy_name 审计策略名称,需要唯一,不可重复。 取值范围:字符串,要符合标识符命名规范。 resource_label_name 资源标签名称。 DDL 指的是针对数据库执行如下操作时进行审计,目前支持:ALTER、ANALYZE、COMMENT、CREATE、DROP、GRANT、REVOKE、SET、SHOW。 DML 指的是针对数据库执行如下操作时进行审计,目前支持:COPY、DEALLOCATE、DELETE_P、EXECUTE、REINDEX、INSERT、PREPARE、SELECT、TRUNCATE、UPDATE。 ALL 指的是上述DDL或DML中支持的所有对数据库的操作。当形式为{ DDL | ALL }时,ALL指所有DDL操作;当形式为{ DML | ALL }时,ALL指所有DML操作。 filter_type 指定审计策略的过滤信息,过滤类型包括:IP、ROLES、APP。 filter_value 指具体过滤信息内容。 policy_comments 用于记录策略相关的描述信息。 ENABLE|DISABLE 可以打开或关闭统一审计策略。
  • 语法格式 添加/删除审计策略中的操作类型。 ALTER AUDIT POLICY [ IF EXISTS ] policy_name { ADD | REMOVE } { [ privilege_audit_clause ] [ access_audit_clause ] }; 修改审计策略中的过滤条件。 ALTER AUDIT POLICY [ IF EXISTS ] policy_name MODIFY ( filter_group_clause ); 将审计策略中的过滤条件删除。 ALTER AUDIT POLICY [ IF EXISTS ] policy_name DROP FILTER; 修改审计策略描述。 ALTER AUDIT POLICY [ IF EXISTS ] policy_name COMMENTS policy_comments; 打开或者关闭审计策略。 ALTER AUDIT POLICY [ IF EXISTS ] policy_name { ENABLE | DISABLE };
  • 示例 添加/删除审计策略中的操作类型。 --创建一个对数据库执行CREATE的审计策略adt1。 gaussdb=# CREATE AUDIT POLICY adt1 PRIVILEGES CREATE; --添加adt1审计策略中的DROP。 gaussdb=# ALTER AUDIT POLICY adt1 ADD PRIVILEGES (DROP); --删除adt1审计策略中的DROP。 gaussdb=# ALTER AUDIT POLICY adt1 REMOVE PRIVILEGES (DROP); 修改审计策略的注释信息。 --修改adt1审计策略的注释信息为adt1_comments。 gaussdb=# ALTER AUDIT POLICY adt1 COMMENTS 'adt1_comments'; 修改审计策略的过滤信息。 --创建bob_audit用户。 gaussdb=# CREATE USER bob_audit PASSWORD '********'; --修改adt1审计策略的过滤用户为bob_audit。 gaussdb=# ALTER AUDIT POLICY adt1 MODIFY (FILTER ON (ROLES(bob_audit))); --删除bob_audit用户。 gaussdb=# DROP USER bob_audit; 删除审计策略的过滤条件。 --删除adt1审计策略的过滤条件。 gaussdb=# ALTER AUDIT POLICY adt1 DROP FILTER; 关闭审计策略。 --关闭adt1审计策略。 gaussdb=# ALTER AUDIT POLICY adt1 DISABLE; --删除adt1审计策略。 gaussdb=# DROP AUDIT POLICY adt1;
  • INFORMATION_SCHEMA.TRIGGERS 显示所有定义在当前数据库中表和视图上的触发器,并且只显示当前用户拥有的触发器或当前用户在其上具有某种除了SELECT之外特权的触发器,如表1所示。 表1 INFORMATION_SCHEMA.TRIGGERS字段 名称 类型 描述 trigger_catalog information_schema.sql_identifier 包含该触发器的数据库名。 trigger_schema information_schema.sql_identifier 包含该触发器的模式名。 trigger_name information_schema.sql_identifier 触发器名称。 event_manipulation information_schema.character_data 触发该触发器的事件类型(INSERT、UPDATE、DELETE)。 event_object_catalog information_schema.sql_identifier 包含该触发器所在表的数据库名。 event_object_schema information_schema.sql_identifier 包含该触发器所在表的模式名。 event_object_table information_schema.sql_identifier 触发器所在表的名称。 action_order information_schema.cardinal_number 同一个表上具有相同event_manipulation、action_timing、action_orientation的触发器之间的触发顺序。 action_condition information_schema.character_data 触发器的WHEN条件,默认为空。 action_statement information_schema.character_data 触发器执行的语句。 action_orientation information_schema.character_data 标识触发器是对每个被处理的行触发一次还是为每个语句触发一次。 action_timing information_schema.character_data 触发器在什么时候触发(BEFORE、AFTER、INSTEAD OF)。 action_reference_old_table information_schema.sql_identifier 无实际意义,取值为空。 action_reference_new_table information_schema.sql_identifier 无实际意义,取值为空。 action_reference_old_row information_schema.sql_identifier 无实际意义,取值为空。 action_reference_new_row information_schema.sql_identifier 无实际意义,取值为空。 created information_schema.time_stamp 无实际意义,取值为空。 INFORMATION_SCHEMA.TRIGGERS视图只显示事件类型为INSERT、UPDATE、DELETE的触发器,不显示事件类型为TRUNCATE的触发器。 父主题: Information Schema
  • 参数说明 configuration_parameter 运行时参数的名称。 取值范围:可以使用SHOW ALL命令查看运行时参数。 部分通过SHOW ALL查看的参数不能通过SET设置,如max_datanodes。 CURRENT_SCHEMA 当前模式。 TIME ZONE 时区。 TRANSACTION ISOLATION LEVEL 事务的隔离级别。 SESSION AUTHORIZATION 当前会话的用户标识符。 ALL 所有运行时参数。
  • 示例 --设置时区为意大利。 gaussdb=# SET timezone TO 'Europe/Rome'; --查看当前时区。 gaussdb=# SHOW timezone; TimeZone ------------- Europe/Rome (1 row) --将时区设置为缺省值。 gaussdb=# RESET timezone; --查看当前时区。 gaussdb=# SHOW timezone; TimeZone ---------- PRC (1 row) --如上SQL等效于如下两条SQL,将时区设置为缺省值。 gaussdb=# SET timezone TO DEFAULT; gaussdb=# ALTER SESSION SET timezone to DEFAULT;
  • GS_CLIENT_GLOBAL_KEYS GS_CLIENT_GLOBAL_KEYS系统表记录密态等值特性中客户端加密主密钥相关信息,每条记录对应一个客户端加密主密钥。 表1 GS_CLIENT_GLOBAL_KEYS字段 名称 类型 描述 oid oid 行标识符(隐含字段)。 global_key_name name 客户端加密主密钥(cmk)名称。 key_namespace oid 包含此客户端加密主密钥(cmk)的命名空间OID。 key_owner oid 客户端加密主密钥(cmk)的所有者。 key_acl aclitem[] 创建该密钥时所拥有的访问权限。 create_date timestamp without time zone 创建密钥的时间。 父主题: 密态等值查询
共100000条
提示

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