华为云用户手册

  • elastic_search_ip_addr 参数说明:Elastic Search系统IP地址 ,使用https协议格式为:https://ip:port:username;使用http协议格式为:http://ip:port。其中,ip为Elastic Search服务器的IP,port为Elastic Search HTTP通信的侦听端口,范围为9200 - 9299,username为用户在Elastic Search注册账号所使用的用户名,初始用户为elastic使用https协议需要配置相关证书,详见《安全加固指南》中“统一审计“章节。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串。 默认值:''
  • block_encryption_mode 参数说明:aes_encrypt和aes_decrypt函数进行加解密时使用的块加密模式。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:枚举类型,有效值为aes-128-cbc, aes-192-cbc,aes-256-cbc,aes-128-cfb1,aes-192-cfb1,aes-256-cfb1,aes-128-cfb8,aes-192-cfb8,aes-256-cfb8,aes-128-cfb128,aes-192-cfb128,aes-256-cfb128,aes-128-ofb,aes-192-ofb,aes-256-ofb。其中aes表示加/解密算法,128/192/256表示密钥长度(单位:bit),cbc/cfb1/cfb8/cfb128/ofb表示块加/解密模式。 默认值:aes-128-cbc
  • 示例 --创建SCHEMA。 gaussdb=# CREATE SCHEMA tpcds; --创建表。 gaussdb=# CREATE TABLE tpcds.customer_demographics_t2 ( CD_DEMO_SK INTEGER NOT NULL, CD_GENDER CHAR(1) , CD_MARITAL_STATUS CHAR(1) , CD_EDUCATION_STATUS CHAR(20) , CD_PURCHASE_ESTIMATE INTEGER , CD_CREDIT_RATING CHAR(10) , CD_DEP_COUNT INTEGER , CD_DEP_EMPLOYED_COUNT INTEGER , CD_DEP_COLLEGE_COUNT INTEGER ) ; --开启事务。 gaussdb=# START TRANSACTION; --插入数据。 gaussdb=# INSERT INTO tpcds.customer_demographics_t2 VALUES(1,'M', 'U', 'DOCTOR DEGREE', 1200, 'GOOD', 1, 0, 0); gaussdb=# INSERT INTO tpcds.customer_demographics_t2 VALUES(2,'F', 'U', 'MASTER DEGREE', 300, 'BAD', 1, 0, 0); --提交事务,让所有更改永久化。 gaussdb=# COMMIT; --查询数据。 gaussdb=# SELECT * FROM tpcds.customer_demographics_t2; --删除表tpcds.customer_demographics_t2。 gaussdb=# DROP TABLE tpcds.customer_demographics_t2; --删除SCHEMA。 gaussdb=# DROP SCHEMA tpcds CASCADE;
  • GS_FILE_STAT GS_FILE_STAT视图通过对数据文件I/O的统计,反映数据的I/O性能,用以发现I/O操作异常等性能问题。 表1 GS_FILE_STAT字段 名称 类型 描述 filenum oid 文件标识。 dbid oid 数据库标识。 spcid oid 表空间标识。 phyrds bigint 读物理文件的数目。 phywrts bigint 写物理文件的数目。 phyblkrd bigint 读物理文件块的数目。 phyblkwrt bigint 写物理文件块的数目。 readtim bigint 读文件的总时长,单位微秒。 writetim bigint 写文件的总时长,单位微秒。 avgiotim bigint 读写文件的平均时长,单位微秒。 lstiotim bigint 最后一次读文件时长,单位微秒。 miniotim bigint 读写文件的最小时长,单位微秒。 maxiowtm bigint 读写文件的最大时长,单位微秒。 父主题: 系统视图
  • PG_VIEWS PG_VIEWS视图显示数据库中每个视图的有用信息。 表1 PG_VIEWS字段 名称 类型 引用 描述 schemaname name PG_NAMESPACE.nspname 视图的模式名。 viewname name PG_CLASS.relname 视图名。 viewowner name PG_AUTHID.Erolname 视图的所有者。 definition text - 视图的定义。 父主题: 系统视图
  • 示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 --创建基本表table_for_label。 gaussdb=# CREATE TABLE table_for_label(col1 int, col2 text); --创建资源标签table_label。 gaussdb=# CREATE RESOURCE LABEL table_label ADD COLUMN(table_for_label.col1); --将col2添加至资源标签table_label中。 gaussdb=# ALTER RESOURCE LABEL table_label ADD COLUMN(table_for_label.col2) --将资源标签table_label中的一项移除。 gaussdb=# ALTER RESOURCE LABEL table_label REMOVE COLUMN(table_for_label.col1); --删除资源标签table_label。 gaussdb=# DROP RESOURCE LABEL table_label; --删除基本表table_for_label。 gaussdb=# DROP TABLE table_for_label;
  • 在结果集中定位 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() 获取当前在第几行。
  • 获取结果集中的数据 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型数据。
  • 设置结果集类型 不同类型的结果集有各自的应用场景,应用程序需要根据实际情况选择相应的结果集类型。在执行SQL语句过程中,需要先创建相应的语句对象,而部分创建语句对象的方法提供了设置结果集类型的功能。java.sql.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:可改变的结果集。对于可滚动的结果集,可对结果集进行适当的改变。
  • 参数说明 IF EXISTS 如果指定的模式不存在,发出一个notice而不是抛出一个错误。 schema_name 模式的名称。 取值范围:已存在模式名。 CASCADE | RESTRICT CASCADE:自动删除包含在模式中的对象。 RESTRICT:如果模式包含任何对象,则删除失败(缺省行为)。 不要随意删除pg_temp或pg_toast_temp开头的模式,这些模式是系统内部使用的,如果删除,可能导致无法预知的结果。 无法删除当前模式。如果要删除当前模式,须切换到其他模式下。
  • 参数说明 DEFINER 定时任务待执行语句在执行时使用的权限。默认情况下使用当前创建定时任务者的权限,当definer被指定时,使用被指定用户user的用户权限。 definer参数只有具有sysadmin权限的用户有权指定。 ON SCHEDULE 定时任务执行时刻。定时任务可以通过schedule设置为执行一次,也可以设置为执行多次: AT timestamp [+ INTERVAL interval] 表示设置定时任务只在timestamp [+ INTERVAL interval] 时间点执行一次。 EVERY interval 表示设置定时任务在每隔interval时间后重复执行。 STARTS timestamp [+ INTERVAL interval] 用户可以给可重复执行的定时任务指定起始时间,即定时任务从timestamp [+ INTERVAL interval]时刻开始执行。当此参数为空时默认从当前时刻开始执行。 ENDS timestamp [+ INTERVAL interval] 用户可以给可重复执行的定时任务指定结束时间,即定时任务从timestamp [+ INTERVAL interval]时刻停止执行。当此参数为空时默认为3999-12-31 16:00:00。 INTERVAL 时间间隔,interval由quantity数字和时间单位组成,例如1 YEAR。 ON COMPLETION [NOT] PRESERVE 默认情况下,一旦事务处于完成状态,系统表中就会立刻删除该定时任务。用户可以通过设置ON COMPLETION PRESERVE来覆盖默认行为。 ENABLE | DISABLE | DISABLE ON SLAVE 创建定时任务后,定时任务默认处于ENABLE状态,即到规定时间立即执行待执行语句。用户可以使用DISABLE关键字,改变定时任务的活动状态。DISABLE ON SLAVE表现与DISABLE一致。 COMMENT 用户可以给定时任务添加注释,注释内容在GS_JOB_ATTRIBUTE表中查看。 DO 定时任务待执行语句。
  • 语法格式 CREATE [DEFINER = user] EVENT [IF NOT EXISTS] event_name ON SCHEDULE schedule [ON COMPLETION [NOT] PRESERVE] [ENABLE | DISABLE | DISABLE ON SLAVE] [COMMENT 'string'] DO event_body; schedule: 1 2 3 4 5 6 { AT timestamp [+ INTERVAL interval] ... | EVERY interval [STARTS timestamp [+ INTERVAL interval] ...] [ENDS timestamp [+ INTERVAL interval] ...] } interval: quantity {YEAR | MONTH | DAY | HOUR | MINUTE | SECOND | YEAR TO MONTH | DAY TO HOUR | DAY TO MINUTE | DAY TO SECOND | HOUR TO MINUTE | HOUR TO SECOND | MINUTE TO SECOND}
  • 示例 --创建表。 gaussdb=# CREATE TABLE t_ev(num int); --创建一个执行一次的定时任务。 gaussdb=# CREATE EVENT IF NOT EXISTS event_e1 ON SCHEDULE AT sysdate + interval 5 second + interval 33 minute DISABLE DO insert into t_ev values(0); --创建一个每隔一分钟执行一次的定时任务。 gaussdb=# CREATE EVENT IF NOT EXISTS event_e2 ON SCHEDULE EVERY 1 minute DO insert into t_ev values(1); --查看定时任务。 gaussdb=# SHOW EVENTS; --删除定时任务。 gaussdb=# DROP EVENT event_e1; gaussdb=# DROP EVENT event_e2;
  • 注意事项 定时任务相关操作只有sql_compatibility = 'B'时支持。 用户操作(创建/修改/删除)定时任务时,非sysadmin用户需要被sysadmin用户赋予操作定时任务的权限。定时任务操作权限与高级包DBE_SCHEDULER中创建定时任务赋权操作一致。 定时任务时间间隔interval表达式目前兼容了浮点数语法,例如interval 0.5 minute,但是计算时会将浮点数取整,所以不建议interval时间间隔使用浮点数形式。 同一database下不支持同名定时任务。 定时任务中待执行语句范围是除安全相关操作以外任意SQL语句,但对于某些有约束的语句会执行失败。例如:不支持通过复合语句创建database。 定时任务待执行语句不支持的安全相关操作范围主要包括: 使用加密函数。 创建、设置用户、group。 连接数据库。 函数加密等。 定时任务指定definer选项在以下场景下会指定失败: 操作定时任务的用户不具有sysadmin权限。 当前用户与被指定definer不一致时: 指定definer为初始用户。 指定definer为运维管理员、监控管理员。 开启三权分立,enableSeparationOfDuty=on。
  • audit_xid_info 参数说明:这个参数决定是否在审计日志字段detail_info中记录SQL语句的事务ID。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,0、1。 0表示关闭审计日志记录事务ID功能。 1表示开启审计日志记录事务ID功能。 默认值:0 如果开启此开关,审计日志中detail_info信息则以xid开始,例如: detail_info: xid=14619 , create table t1(id int); 对于不存在事务ID的审计行为,记录xid=NA。
  • enable_nonsysadmin_execute_direct 参数说明:是否允许非系统管理员和非监控管理员执行EXECUTE DIRECT ON语句。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示允许任意用户执行EXECUTE DIRECT ON语句。 off表示只允许系统管理员和监控管理员执行EXECUTE DIRECT ON语句。 默认值:off
  • enable_access_server_directory 参数说明:是否开启非初始用户创建、修改和删除DIRECTORY的权限。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示开启非初始用户创建、修改和删除DIRECTORY的权限。 off表示不开启非初始用户创建、修改和删除DIRECTORY的权限。 默认值:off 出于安全考虑,默认情况下,只有初始用户才能够创建、修改和删除DIRECTORY对象。 如果开启了enable_access_server_directory,具有SYSADMIN权限的用户和继承了内置角色gs_role_directory_create权限的用户可以创建directory对象;具有SYSADMIN权限的用户、directory对象的属主、被授予了该directory的DROP权限的用户或者继承了内置角色gs_role_directory_drop权限的用户可以删除directory对象;具有SYSADMIN权限的用户和directory对象的属主可以修改directory对象的所有者,且要求该用户是新属主的成员。
  • audit_system_function_exec 参数说明:这个参数决定在执行白名单内的系统函数时是否记录审计日志。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,0、1。 0表示关闭对系统函数执行的审计功能。 1表示开启对系统函数执行的审计功能。 默认值:0 支持记录审计的系统函数白名单如下表所示: set_working_grand_version_num_manually set_config pg_cancel_backend pg_cancel_session pg_reload_conf pg_rotate_logfile pg_terminate_session pg_terminate_backend pg_create_restore_point pg_start_backup pg_stop_backup pg_switch_xlog pg_cbm_rotate_file pg_cbm_get_merged_file pg_cbm_recycle_file pg_enable_delay_ddl_recycle pg_disable_delay_ddl_recycle gs_roach_stop_backup gs_roach_enable_delay_ddl_recycle gs_roach_disable_delay_ddl_recycle gs_roach_switch_xlog pg_last_xlog_receive_location pg_xlog_replay_pause pg_xlog_replay_resume gs_pitr_clean_history_global_barriers gs_pitr_archive_slot_force_advance pg_create_physical_replication_slot_extern gs_set_obs_delete_location gs_hadr_do_switchover gs_set_obs_delete_location_with_slotname gs_streaming_dr_in_switchover gs_upload_obs_file gs_download_obs_file gs_set_obs_file_context gs_get_hadr_key_cn pg_advisory_lock pg_advisory_lock_shared pg_advisory_unlock pg_advisory_unlock_shared pg_advisory_unlock_all pg_advisory_xact_lock pg_advisory_xact_lock_shared pg_try_advisory_lock pg_try_advisory_lock_shared pg_try_advisory_xact_lock pg_try_advisory_xact_lock_shared pg_create_logical_replication_slot pg_drop_replication_slot pg_logical_slot_peek_changes pg_logical_slot_get_changes pg_logical_slot_get_binary_changes pg_replication_slot_advance pg_replication_origin_create pg_replication_origin_drop pg_replication_origin_session_setup pg_replication_origin_session_reset pg_replication_origin_session_progress pg_replication_origin_xact_setup pg_replication_origin_xact_reset pg_replication_origin_advance local_space_shrink gs_space_shrink pg_free_remain_segment gs_fault_inject gs_repair_file local_clear_bad_block_info gs_repair_page - - - - -
  • audit_system_object 参数说明:该参数决定是否对数据库对象的CREATE、DROP、ALTER操作进行审计。数据库对象包括DATABASE、USER、schema、TABLE等。通过修改该配置参数的值,可以只审计需要的数据库对象的操作。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,0~536870911 0代表关闭数据库对象的CREATE、DROP、ALTER操作审计功能。 非0代表只审计某类或者某些数据库对象的CREATE、DROP、ALTER操作。 取值说明: 该参数的值由29个二进制位的组合求出,这29个二进制位分别代表29类数据库对象。如果对应的二进制位取值为0,表示不审计对应的数据库对象的CREATE、DROP、ALTER操作;取值为1,表示审计对应的数据库对象的CREATE、DROP、ALTER操作。这29个二进制位代表的具体审计内容请参见表1。 用于记录SQL PATCH的参数存在特殊性,如果对该对象进行审计且audit_dml_state_select也开启时,对于一条SQL PATCH操作的审计日志会作为DML和DDL被记录两次。 默认值:67121159 表1 audit_system_object取值含义说明 二进制位 含义 取值说明 第0位 是否审计DATABASE对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第1位 是否审计SCHEMA对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第2位 是否审计USER对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第3位 是否审计TABLE对象的CREATE、DROP、ALTER、TRUNCATE操作。 0表示不审计该对象的CREATE、DROP、ALTER、TRUNCATE操作。 1表示审计该对象的CREATE、DROP、ALTER、TRUNCATE操作。 第4位 是否审计INDEX对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第5位 是否审计VIEW/MATVIEW对象的CREATE、DROP操作。 0表示不审计该对象的CREATE、DROP操作。 1表示审计该对象的CREATE、DROP操作。 第6位 是否审计TRIGGER对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第7位 是否审计PROCEDURE/FUNCTION对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第8位 是否审计TABLESPACE对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第9位 是否审计RESOURCE POOL对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作 第10位 是否审计WORKLOAD对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作 第11位 保留 - 第12位 是否审计DATA SOURCE对象的CRAETE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第13位 保留 - 第14位 是否审计ROW LEVEL SECURITY对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第15位 是否审计TYPE对象的CREATE、DROP、ALTER操作。 0表示不审计TYPE对象的CREATE、DROP、ALTER操作。 1表示审计TYPE对象的CREATE、DROP、ALTER操作。 第16位 是否审计TEXT SEARCH对象(CONFIGURATION和DICTIONARY)的CREATE、DROP、ALTER操作。 0表示不审计TEXT SEARCH对象的CREATE、DROP、ALTER操作。 1表示审计TEXT SEARCH对象的CREATE、DROP、ALTER操作。 第17位 是否审计DIRECTORY对象的CREATE、DROP、ALTER操作。 0表示不审计DIRECTORY对象的CREATE、DROP、ALTER操作。 1表示审计DIRECTORY对象的CREATE、DROP、ALTER操作。 第18位 是否审计SYNONYM对象的CREATE、DROP、ALTER操作。 0表示不审计SYNONYM对象的CREATE、DROP、ALTER操作。 1表示审计SYNONYM对象的CREATE、DROP、ALTER操作。 第19位 是否审计SEQUENCE对象的CREATE、DROP、ALTER操作。 0表示不审计SEQUENCE对象的CREATE、DROP、ALTER操作。 1表示审计SEQUENCE对象的CREATE、DROP、ALTER操作。 第20位 是否审计CMK、CEK对象的CREATE、DROP操作。 0表示不审计CMK、CEK对象的CREATE、ALTER、DROP操作。 1表示审计CMK、CEK对象的CREATE、ALTER、DROP操作。 第21位 是否审计PACKAGE对象的CREATE、DROP、ALTER操作。 0表示不审计PACKAGE对象的CREATE、DROP、ALTER操作。 1表示审计PACKAGE对象的CREATE、DROP、ALTER操作。 第22位 是否审计MODEL对象的CREATE、DROP操作。 0表示不审计MODEL对象的CREATE、ALTER操作。 1表示审计MODEL对象的CREATE、DROP操作。 第23位 是否审计PUBLICATION和SUBSCRIPTION对象的CREATE、DROP、ALTER操作。 0表示不审计PUBLICATION和 SUBSCRIPTION对象的CREATE、DROP、ALTER操作。 1表示审计PUBLICATION和 SUBSCRIPTION对象的CREATE、DROP、ALTER操作。 第24位 是否审计对gs_global_config全局对象的ALTER、DROP操作。 0表示不审计对系统表gs_global_config全局对象的ALTER、DROP操作。 1表示审计对系统表gs_global_config全局对象的ALTER、DROP操作。 第25位 是否审计FOREIGN DATA WRAPPER对象的CREATE、DROP、ALTER操作。 0表示不审计FOREIGN DATA WRAPPER对象的CREATE、DROP、ALTER操作。 1表示审计FOREIGN DATA WRAPPER对象的CREATE、DROP、ALTER操作。 第26位 是否审计SQL PATCH对象的CREATE、ENABLE、DISABLE、DROP操作。 0表示不审计SQL PATCH对象的CREATE、ENABLE、DISABLE、DROP操作。 1表示审计SQL PATCH对象的CREATE、ENABLE、DISABLE、DROP操作。 第27位 是否审计EVENT对象的CREATE、ALTER、DROP操作。 0表示不审计EVENT对象的CREATE、ENABLE、DISABLE、DROP操作。 1表示审计EVENT对象的CREATE、ENABLE、DISABLE、DROP操作。 第28位 是否审计DBLINK对象的CREATE、ALTER、DROP操作。目前DATABASE LINK功能暂不支持。 0表示不审计DBLINK对象的CREATE、ALTER、DROP操作。 1表示审计DBLINK对象的CREATE、ALTER、DROP操作。
  • MPP_TABLES MPP_TABLES视图显示信息如下。 表1 MPP_TABLES字段 名称 类型 描述 schemaname name 表的模式名。 tablename name 表名。 tableowner name 表的所有者。 tablespace name 表所在的表空间。 pgroup name 节点群的名称。 nodeoids oidvector_extend 表分布的节点OID列表。 父主题: 系统视图
  • MY_TAB_PARTITIONS MY_TAB_PARTITIONS视图存储当前用户下所有一级分区信息。当前用户下每个分区表的一级分区都会在MY_TAB_PARTITIONS中有一条记录。所有用户都可以访问。该视图同时存在于PG_CATA LOG 和SYS schema下。 表1 MY_TAB_PARTITIONS字段 名称 类型 描述 table_owner character varying(64) 表的所有者。 table_name character varying(64) 关系表名称。 partition_name character varying(64) 分区名称。 high_value text 分区的边界值。 对于范围分区和间隔分区,显示各分区的上边界值。 对于列表分区,显示各分区的取值列表。 对于哈希分区,显示各分区的编号。 tablespace_name name 分区表的表空间名称。 schema character varying(64) 名称空间的名称。 subpartition_count bigint 二级分区的个数。 high_value_length integer 分区绑定值表达式长度。 composite character varying(3) 表是否为二级分区表。 partition_position numeric 分区在表中的位置。 pct_free numeric 块中可用空间的最小百分比。 pct_used numeric 暂不支持,值为NULL。 ini_trans numeric 初始事务数,默认值为4,非USTORE分区表时为NULL。 max_trans numeric 最大事务数,默认值为128,非USTORE分区表时为NULL。 initial_extent numeric 暂不支持,值为NULL。 next_extent numeric 暂不支持,值为NULL。 min_extent numeric 暂不支持,值为NULL。 max_extent numeric 暂不支持,值为NULL。 max_size numeric 暂不支持,值为NULL。 pct_increase numeric 暂不支持,值为NULL。 freelists numeric 暂不支持,值为NULL。 freelist_groups numeric 暂不支持,值为NULL。 logging character varying(7) 是否记录对表的更改。 compression character varying(8) 表分区的实际压缩属性。 compress_for character varying(30) 暂不支持,值为NULL。 num_rows numeric 分区中的行数。 blocks numeric 暂不支持,值为NULL。 empty_blocks numeric 暂不支持,值为NULL。 avg_space numeric 暂不支持,值为NULL。 chain_cnt numeric 暂不支持,值为NULL。 avg_row_len numeric 暂不支持,值为NULL。 sample_size numeric 暂不支持,值为NULL。 last_analyzed timestamp with time zone 最近分析此分区的日期。 buffer_pool character varying(7) 用于分区块的缓冲池。 flash_cache character varying(7) 暂不支持,值为NULL。 cell_flash_cache character varying(7) 暂不支持,值为NULL。 global_stats character varying(3) 暂不支持,值为NULL。 user_stats character varying(3) 暂不支持,值为NULL。 is_nested character varying(3) 是否是嵌套表分区。 parent_table_partition character varying(128) 暂不支持,值为NULL。 interval character varying(3) 分区是否在间隔分区表的间隔节中。 segment_created character varying(4) 表分区是否创建了段或未创建。 indexing character varying(4) 暂不支持,值为NULL。 read_only character varying(4) 暂不支持,值为NULL。 inmemory character varying(8) 暂不支持,值为NULL。 inmemory_priority character varying(8) 暂不支持,值为NULL。 inmemory_distribute character varying(15) 暂不支持,值为NULL。 inmemory_compression character varying(17) 暂不支持,值为NULL。 inmemory_duplicate character varying(13) 暂不支持,值为NULL。 cellmemory character varying(24) 暂不支持,值为NULL。 inmemory_service character varying(12) 暂不支持,值为NULL。 inmemory_service_name character varying(100) 暂不支持,值为NULL。 memoptimize_read character varying(8) 暂不支持,值为NULL。 memoptimize_write character varying(8) 暂不支持,值为NULL 父主题: 系统视图
  • ecpg ecpg(embedded SQL C preprocessor for GaussDB Kernel)是一种用于C语言程序的嵌入式SQL预处理器。一个嵌入式SQL程序由一种普通编程语言编写的代码(此处为C语言)和SQL命令共同组成。要构建该程序,源代码(*.pgc)首先通过嵌入式SQL预处理器,将源代码转换成一个普通C语言程序(*.c),然后再通过编译器处理。转换过的ecpg应用通过嵌入式SQL库(ecpglib)调用libpq库中的函数,与GaussDB Kernel服务器使用普通的前端/后端协议通信。 嵌入式SQL程序是插入了数据库相关动作的特殊代码的C语言程序。这种特殊代码形式通常如下: EXEC SQL ...; 这些语句在语法上取代了一个C语句,可以出现在全局或者是一个函数中。嵌入式SQL语句遵循普通SQL代码的大小写敏感规则,也允许嵌套的C语言代码风格注释(SQL标准的一部分)。不过,程序的C语言部分遵循C语言程序的标准,不支持嵌套注释。 基于ecpg开发详细教程请参见基于ecpg开发。
  • Go Go驱动是一个用于连接和操作 GaussDB数据库 的Go语言驱动。它提供了一些用于连接和操作GaussDB数据库的接口,可以用于执行查询、插入、更新和删除等操作。 以下是Go驱动当前支持的部分功能及其用法: 数据库连接:Go驱动支持通过db.Open连接数据库。连接串支持URL和DSN两种格式。 SQL执行与查询:Go驱动提供接口如db.Exec、db.Query等,可以用于SQL的执行与查询 。 事务管理:Go驱动支持Tx接口进行事务管理,其中实现了启动、提交、回滚事务等方法,确保数据库操作的一致性和完整性。 元数据访问: Go驱动提供ColumnType接口用于查询数据库中列属性信息,包括是否可以为空、数据库类型名称、长度和小数位数等信息。 可重用性:Go驱动提供Prepare方法用于预编译SQL,该SQL可以被多次执行,只需改变传入参数,提高数据库可重用性。 基于Go驱动开发详细教程请参见基于Go驱动开发。
  • Psycopg Psycopg是一种用于执行SQL语句的PythonAPI,可以为GaussDB数据库提供统一访问接口,应用程序可基于它进行数据操作。Psycopg2是对libpq的封装,主要使用C语言实现,既高效又安全。它具有客户端游标和服务器端游标、异步通信和通知、支持“COPY TO/COPY FROM”功能。支持多种类型Python开箱即用,适配GaussDB数据类型。通过灵活的对象适配系统,可以扩展和定制适配。Psycopg2兼容Unicode。 GaussDB数据库提供了对Psycopg2特性的支持,并且支持psycopg2通过SSL模式连接。 基于Psycopg开发详细教程请参见基于Psycopg开发。 表2 Psycopg支持平台 操作系统 平台 Python版本 EulerOS 2.5 ARM64位 x86_64位 3.8.5 EulerOS 2.9 ARM64位 x86_64位 3.7.4 EulerOS 2.10、Kylin v10、UnionTech20 ARM64位 x86_64位 3.7.9 EulerOS 2.11、Suse 12.5 ARM64位 x86_64位 3.9.11 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库所在目录,需根据文件实际存储路径修改。
  • JDBC JDBC(Java Database Connectivity,Java数据库连接)是用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问接口。它允许Java应用程序通过SQL语句来执行数据库操作,包括查询、插入、更新和删除数据等。 以下是JDBC的一些关键特点和用法: 数据库连接管理:JDBC允许应用程序建立与数据库的连接,并管理这些连接的生命周期。 SQL执行: 使用JDBC,可以执行SQL查询、更新、删除等操作。这通过在Java代码中构建SQL语句并将其发送到数据库来实现。 事务管理:JDBC支持事务管理,可以通过JDBC API来启动、提交或回滚事务,确保数据库操作的一致性和完整性。 异常处理: JDBC定义了一组异常类来处理数据库操作期间可能发生的各种异常情况,开发人员可以使用try-catch块来捕获和处理这些异常。 批处理操作:JDBC提供了批处理功能,允许一次性执行多个SQL语句,从而提高数据库操作的效率。 元数据访问: 通过JDBC,可以获取数据库的元数据信息,如表结构、列名、数据类型等,从而动态地构建SQL查询或根据数据库结构进行操作。 总的来说,JDBC提供了一个灵活且强大的桥梁,使Java应用程序能够与各种不同的数据库进行交互,从而实现数据的持久化和管理。GaussDB库提供了对JDBC 4.2特性的支持,需要使用JDK1.8版本编译程序代码,不支持JDBC桥接ODBC方式。 基于JDBC开发详细教程请参见基于JDBC开发。
  • PG_AUTH_HISTORY PG_AUTH_HISTORY系统表记录了角色的认证历史。需要有系统管理员权限才可以访问此系统表。 表1 PG_AUTH_HISTORY字段 名称 类型 描述 oid oid 行标识符(隐含属性,必须明确选择)。 roloid oid 角色标识。 passwordtime timestamp with time zone 创建和修改密码的时间。 rolpassword text 角色密码密文,加密方式由GUC参数password_encryption_type确定。 父主题: 系统表
  • 语法格式 MOVE [ direction [ FROM | IN ] ] cursor_name; 其中direction子句为可选参数。 NEXT | PRIOR | FIRST | LAST | ABSOLUTE count | RELATIVE count | count | ALL | FORWARD | FORWARD count | FORWARD ALL | BACKWARD | BACKWARD count | BACKWARD ALL
  • 示例 --创建SCHEMA。 gaussdb=# CREATE SCHEMA tpcds; --创建表tpcds.reason。 gaussdb=# CREATE TABLE tpcds.reason ( r_reason_sk INTEGER NOT NULL, r_reason_id CHAR(16) NOT NULL, r_reason_desc VARCHAR(40) ); --向表中插入多条记录。 gaussdb=# INSERT INTO tpcds.reason VALUES (1, 'AAAAAAAABAAAAAAA', 'Xxxxxxxxx'),(2, 'AAAAAAAACAAAAAAA', ' Xxxxxxxxx'),(3, 'AAAAAAAADAAAAAAA', ' Xxxxxxxxx'),(4, 'AAAAAAAAEAAAAAAA', 'Not the product that was ordered'),(5, 'AAAAAAAAFAAAAAAA', 'Parts missing'),(6, 'AAAAAAAAGAAAAAAA', 'Does not work with a product that I have'),(7, 'AAAAAAAAHAAAAAAA', 'Gift exchange'); --开始一个事务。 gaussdb=# START TRANSACTION; --定义一个名为cursor1的游标。 gaussdb=# CURSOR cursor1 FOR SELECT * FROM tpcds.reason; --忽略游标cursor1的前3行。 gaussdb=# MOVE FORWARD 3 FROM cursor1; --抓取游标cursor1的前4行。 gaussdb=# FETCH 4 FROM cursor1; r_reason_sk | r_reason_id | r_reason_desc -------------+------------------+------------------------------------------------------------------------------------------------------ 4 | AAAAAAAAEAAAAAAA | Not the product that was ordered 5 | AAAAAAAAFAAAAAAA | Parts missing 6 | AAAAAAAAGAAAAAAA | Does not work with a product that I have 7 | AAAAAAAAHAAAAAAA | Gift exchange (4 rows) --关闭游标。 gaussdb=# CLOSE cursor1; --结束一个事务。 gaussdb=# END; --删除表。 gaussdb=# DROP TABLE tpcds.reason; --删除SCHEMA。 gaussdb=# DROP SCHEMA tpcds CASCADE;
  • GLOBAL_FILE_IOSTAT 显示数据库内所有节点的数据文件I/O 统计信息。 表1 GLOBAL_FILE_IOSTAT字段 名称 类型 描述 node_name name 节点名称。 filenum oid 文件标识。 dbid oid 数据库标识。 spcid oid 表空间标识。 phyrds bigint 读物理文件的数目。 phywrts bigint 写物理文件的数目。 phyblkrd bigint 读物理文件块的数目。 phyblkwrt bigint 写物理文件块的数目。 readtim bigint 读文件的总时长(单位:微秒)。 writetim bigint 写文件的总时长(单位:微秒)。 avgiotim bigint 读写文件的平均时长(单位:微秒)。 lstiotim bigint 最后一次读文件时长(单位:微秒)。 miniotim bigint 读写文件的最小时长(单位:微秒)。 maxiowtm bigint 读写文件的最大时长(单位:微秒)。 父主题: File
共100000条
提示

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