华为云用户手册

  • default_tablespace 参数说明:当CREATE命令没有明确声明表空间时,所创建对象(表和索引等)的缺省表空间。 值是一个表空间的名称或者一个表示使用当前数据库缺省表空间的空字符串。若指定的是一个非默认表空间,用户必须具有它的CREATE权限,否则尝试创建会失败。 临时表不使用此参数,可以用temp_tablespaces代替。 创建数据库时不使用此参数。默认情况下,一个新的数据库从模板数据库继承表空间配置。 参数类型:字符串 参数单位:无 取值范围:已有表空间的名称或空字符串,其中空字符串表示使用默认表空间。 默认值:"" 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
  • search_path 参数说明:当一个被引用对象没有指定模式时,此参数设置模式搜索顺序。 参数类型:字符串 参数单位:无 取值范围:由一个或多个模式名构成的字符串,不同的模式名用逗号隔开。 设置为'"$user",public'时,支持共享数据库(没有用户具有私有模式和所有共享使用public),用户私有模式和这些功能的组合使用。可以通过改变默认搜索路径来获得其他效果,无论是全局化的还是私有化的。 设置为空字符串('')的时候,系统会自动转换成一对双引号。 设置的内容中包含双引号时,系统会认为是不安全字符,会将每个双引号转换成一对双引号。 默认值:'"$user",public' $user表示与当前会话用户名同名的模式名,如果这样的模式不存在,$user将被忽略。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议: 当前会话存放临时表的模式时,可以使用别名pg_temp将它列在搜索路径中,如'pg_temp,public'。存放临时表的模式始终会作为第一个被搜索的对象,排在pg_catalog和search_path中所有模式的前面,即具有第一搜索优先级。建议用户不要在search_path中显式设置pg_temp。如果在search_path中指定了pg_temp,但不是在最前面,系统会提示设置无效,pg_temp仍被优先搜索。通过使用别名pg_temp,系统只会在存放临时表的模式中搜索表、视图和数据类型这样的数据库对象,不会在里面搜索函数或运算符这样的数据库对象。 系统表所在的模式pg_catalog,总是排在search_path中指定的所有模式前面被搜索,即具有第二搜索优先级(pg_temp具有第一搜索优先级)。建议用户不要在search_path中显式设置pg_catalog。如果在search_path中指定了pg_catalog,但不是在最前面,系统会提示设置无效,pg_catalog仍被第二优先搜索。 当没有指定一个特定模式而创建一个对象时,它们被放置到以search_path为命名的第一个有效模式中。当搜索路径为空时,会报错误。 可以通过SQL函数current_schema()检测当前搜索路径的有效值。这和search_path的值不完全相同,因为current_schema()显示search_path中首位有效的模式名称。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
  • temp_tablespaces 参数说明:当一个CREATE命令没有明确指定一个表空间时,temp_tablespaces指定了创建临时对象(临时表和临时表的索引)所在的表空间。在这些表空间中创建临时文件用来做大型数据的排序工作。 其值是一系列表空间名的列表。如果列表中有多个表空间时,每次临时对象的创建, GaussDB 会在列表中随机选择一个表空间;如果在事务中,连续创建的临时对象被放置在列表里连续的表空间中。如果选择的列表中的元素是一个空字符串,GaussDB将自动将当前的数据库设为默认的表空间。 参数类型:字符串 参数单位:无 取值范围:已有表空间的名称或空字符串。空字符串表示所有的临时对象仅在当前数据库默认的表空间中创建,请参考default_tablespace。 默认值:"" 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
  • default_storage_nodegroup 参数说明:设置当前默认建表所在的Node Group,目前只适用普通表。 参数类型:字符串 参数单位:无 取值范围:已有Node Group的名称或“installation”。 默认值:"installation" 值为“installation”表示建表会默认建在安装的Node Group上。 值为其他字符串表示建表会默认建在设置的Node Group上。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
  • 示例 1 2 3 4 5 6 7 8 9 10 11 12 13 --产生0到1之间的随机数: SELECT DBE_RANDOM.GET_VALUE(0,1); get_value ------------------ .917468812743886 (1 row) --对于指定范围内的整数,要加入参数min和max,并从结果中截取较小的数(最大值不能被作为可能的值)。所以对于0到99之间的整数,使用下面的代码: SELECT TRUNC(DBE_RANDOM.GET_VALUE(0,100)); trunc ------- 26 (1 row)
  • 接口介绍 高级功能包DBE_RANDOM支持的所有接口请参见表 DBE_RANDOM接口参数说明。 表1 DBE_RANDOM接口参数说明 接口名称 描述 DBE_RANDOM.SET_SEED 设置一个随机数的种子。 DBE_RANDOM.GET_VALUE 生成一个大小介于指定的low及high之间的随机数。 DBE_RANDOM.SET_SEED 存储过程SEED用于设置一个随机数的种子。DBE_RANDOM.SET_SEED函数原型为: 1 DBE_RANDOM.SET_SEED (seed IN INTEGER); 表2 DBE_RANDOM.SET_SEED接口参数说明 参数 描述 seed 用于产生一个随机数的种子。 DBE_RANDOM.GET_VALUE 函数GET_VALUE生成一个大小介于指定的low及high之间的随机数。DBE_RANDOM.GET_VALUE函数原型为: 1 2 3 4 DBE_RANDOM.GET_VALUE( min IN NUMBER default 0, max IN NUMBER default 1) RETURN NUMBER; 表3 DBE_RANDOM.GET_VALUE接口参数说明 参数 描述 min 指定随机数大小的下边界,生成的随机数大于或等于min。 max 指定随机数大小的上边界,生成的随机数小于max。 实际上,只要求这里的参数类型是NUMERIC即可,对于左右边界的大小并没有要求。 DBE_RANDOM实现的是伪随机,所以若使用的初值(种子)不变,那么伪随机数的数序也不变,使用时需要注意。 生成的随机数有效数字为15位。
  • PGXC_WLM_REBUILD_USER_RESPOOL 该视图用于在所有的节点上重建内存中用户的资源池信息。只在资源池信息缺失或错乱时作为补救措施。查询该视图需要sysadmin权限。 当查询视图无数据显示时,请联系华为工程师提供技术支撑。 表1 PGXC_WLM_REBUILD_USER_RESPOOL字段 名称 类型 描述 gs_wlm_rebuild_user_resource_pool boolean 重建内存中用户资源池信息结果。t为成功,f为失败。 父主题: 负载管理
  • GS_MY_ILMOBJE CTS GS_MY_ILMOBJECTS视图反映所有存在ILM策略应用的数据对象与相应策略的概要信息,包含策略名称、数据对象名称、策略的来源、策略的启用删除状态。 表1 GS_MY_ILMOBJECTS 名称 类型 描述 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:分区。 inherited_from character varying(20) 当前策略是继承哪一个对象上的策略,取值范围: TABLE:表。 TABLE PARTITION:分区。 POLICY NOT INHERITED:不继承。 tbs_inherited_from character varying(30) 当前策略是继承哪一个表空间上的策略。当前版本值为null。 enabled character varying(7) 该策略对当前对象是否开启。 deleted character varying(7) 标识该对象上的ILM策略被删除,实际操作结果是删除分区或者是删除分区上的策略,该条记录都会被删除(ILMOBJ)。 node_name name 数据来源节点的名称。 父主题: OLTP表压缩
  • 永久用户 GaussDB提供永久用户方案:创建具有PERSISTENCE属性的永久用户,具有PERSISTENCE属性的用户能够使用service_reserved_connections通道连接数据库。 service_reserved_connections为带有persistence属性预留的最少连接数,不建议设置过大。 1 gaussdb=# CREATE USER user_persistence WITH PERSISTENCE IDENTIFIED BY "********"; 只允许初始用户创建、修改和删除具有PERSISTENCE属性的永久用户。
  • 创建、修改和删除用户 创建用户,请使用SQL语句CREATE USER。 例如:创建用户joe,并设置用户拥有CREATEDB属性。 1 2 gaussdb=# CREATE USER joe WITH CREATEDB PASSWORD "********"; CREATE ROLE 创建系统管理员,请使用带有SYSADMIN选项的CREATE USER语句 。 删除现有用户,请参见DROP USER。 更改用户账户(例如,重命名用户或更改密码),请参见ALTER USER。 查看用户列表,请查询视图GS_USER。 1 gaussdb=# SELECT * FROM gs_user; 查看用户属性,请查询系统表PG_AUTHID。 1 gaussdb=# SELECT * FROM pg_authid;
  • GS_MASKING GS_MASKING视图显示所有已配置的动态脱敏策略信息。需要有系统管理员或安全策略管理员权限才可以访问此视图。 表1 GS_MASKING字段 名称 类型 描述 polname name 脱敏策略名称。 polenabled boolean 脱敏策略开关。 maskaction name 脱敏函数。 labelname name 脱敏函数作用的标签名称。 masking_object text 脱敏数据库资源对象。 filter_name text 过滤条件的逻辑表达式。 父主题: 动态脱敏
  • 参数 表1 SQLSetConnectAttr参数 关键字 参数说明 ConnectionHandle 连接句柄。 Attribute 设置属性。 ValuePtr 指向对应Attribute的值。依赖于Attribute的值,ValuePtr是32位无符号整型值,或指向以空结束的字符串,二进制缓冲区,或者驱动定义值。如果ValuePtr参数是驱动程序指定值,ValuePtr可能是有符号的整数。 StringLength 如果ValuePtr指向字符串或二进制缓冲区,则这个参数是*ValuePtr长度,如果ValuePtr指向整型,忽略StringLength。
  • 原型 1 2 3 4 SQLRETURN SQLSetConnectAttr(SQLHDBC ConnectionHandle, SQLINTEGER Attribute, SQLPOINTER ValuePtr, SQLINTEGER StringLength);
  • Information Schema 信息模式本身是一个名为information_schema的模式。这个模式自动存在于所有数据库中。信息模式由一组视图构成,它们包含定义在当前数据库中对象的信息。这个模式的拥有者是初始数据库用户,但是所有用户仅有使用权限,没有创建表、函数等对象的权限。 信息模式兼容PG,包括:constraint_table_usage、domain_constraints、domain_udt_usage、domains、enabled_roles、key_column_usage、parameters、referential_constraints、applicable_roles、administrable_role_authorizations、attributes、character_sets、check_constraint_routine_usage、check_constraints、collations、collation_character_set_applicability、column_domain_usage、column_privileges、column_udt_usage、columns、constraint_column_usage、role_column_grants、routine_privileges、role_routine_grants、routines、schemata、sequences、table_constraints、table_privileges、role_table_grants、tables、triggered_update_columns、udt_privileges、role_udt_grants、usage_privileges、role_usage_grants、user_defined_types、view_column_usage、view_routine_usage、view_table_usage、views、data_type_privileges、element_types、column_options、foreign_data_wrapper_options、foreign_data_wrappers、foreign_server_options、foreign_servers、foreign_table_options、foreign_tables、user_mapping_options、user_mappings、sql_features、sql_implementation_info、sql_languages、sql_packages、sql_parts、sql_sizing、sql_sizing_profiles。 下面章节只显示未在上述描述内的视图信息。 _PG_FOREIGN_DATA_WRAPPERS _PG_FOREIGN_SERVERS _PG_FOREIGN_TABLE_COLUMNS _PG_FOREIGN_TABLES _PG_USER_MAPPINGS INFORMATION_SCHEMA_CATA LOG _NAME INFORMATION_SCHEMA.TRIGGERS 父主题: Schema
  • 采用接口二连接数据库 使用DriverManager.getConnection(String url, String user, String password)接口创建数据库连接,步骤如下: 导入java.sql.Connection和java.sql.DriverManager。 java.sql.Connection是数据库连接接口,通过java.sql.DriverManager的 getConnection() 方法让应用程序连接到数据库。此外,用户需要根据实际的应用场景,再导入其他的接口和类,具体请参见JDBC接口参考。 1 2 import java.sql.Connection; import java.sql.DriverManager; 指定数据库sourceURL($ip、$port、database需要用户自行修改)、用户名和密码。 用户名和密码直接写到代码中有很大的安全风险,建议在环境变量中存放。 String sourceURL = "jdbc:gaussdb://$ip:$port/database"; String userName = System.getenv("EXAMPLE_USERNAME_ENV"); String password = System.getenv("EXAMPLE_PASSWORD_ENV"); 加载驱动。 在代码运行工具(如IDE)中添加gaussdbjdbc.jar包。 执行以下命令加载数据库驱动程序“com.huawei.gaussdb.jdbc.Driver”。 String driver = "com.huawei.gaussdb.jdbc.Driver"; Class.forName(driver); 创建数据库连接。 调用DriverManager.getConnection(String url, String user, String password),进行数据库连接。 Connection conn = DriverManager.getConnection(sourceURL, userName, password);
  • 创建数据库连接的接口介绍 JDBC提供了三种接口,用于创建数据库连接。url、info、user、password参数描述,请参见表1。 接口一:DriverManager.getConnection(String url)。该方式需要把数据库用户名、密码写在url中,有一定的安全风险,因此不推荐使用。 接口二:DriverManager.getConnection(String url, String user, String password)。具体请参见采用接口二连接数据库。 接口三:DriverManager.getConnection(String url, Properties info)。具体请参见采用接口三连接数据库。
  • 采用接口三连接数据库 使用DriverManager.getConnection(String url, Properties info)接口创建数据库连接,步骤如下: 导入java.sql.Connection、java.sql.DriverManager、java.util.Properties。 java.util.Properties的setProperty() 方法,用于设置Properties对象的属性值。此外,用户需要根据实际的应用场景,再导入其他的接口和类,具体请参见JDBC接口参考。 1 2 3 import java.sql.Connection; import java.sql.DriverManager; import java.util.Properties; 指定数据库sourceURL($ip、$port、database需要用户自行修改)、用户名和密码。 用户名和密码直接写到代码中有很大的安全风险,建议在环境变量中存放。 String sourceURL = "jdbc:gaussdb://$ip:$port/database"; String userName = System.getenv("EXAMPLE_USERNAME_ENV"); String password = System.getenv("EXAMPLE_PASSWORD_ENV"); 创建Properties对象,并将userName和password设置为该对象的属性值。 Properties info = new Properties(); info.setProperty("user", userName); info.setProperty("password", password); 加载驱动。 在代码运行工具(如IDE)中添加gaussdbjdbc.jar包。 执行以下命令加载数据库驱动程序“com.huawei.gaussdb.jdbc.Driver”。 String driver = "com.huawei.gaussdb.jdbc.Driver"; Class.forName(driver); 创建数据库连接。 调用DriverManager.getConnection(String url, Properties info),进行数据库连接。 1 Connection conn = DriverManager.getConnection(sourceURL, info);
  • 加载驱动方式介绍 加载驱动有两种方式: 在代码中创建连接之前在任意位置装载: Class.forName("com.huawei.gaussdb.jdbc.Driver"); 在JVM启动时参数传递,jdbctest为测试用例程序的名称。 java -Djdbc.drivers=com.huawei.gaussdb.jdbc.Driver jdbctest; 由于GaussDB在JDBC的使用上与PG的使用方法保持兼容,所以同时在同一进程内使用两个JDBC驱动的时候,可能会造成类名冲突。 本版本JDBC不再支持 IAM 认证功能。 GaussDB JDBC驱动主要做了以下特性的增强: 支持SHA256加密方式登录。 支持对接实现sf4j接口的第三方日志框架。 支持连接级别的分布式负载均衡。 支持容灾切换。
  • DBE_SQL_UTIL.create_abort_sql_patch create_abort_sql_patch是用于创建避险SQL PATCH的接口函数,返回执行是否成功。本函数是原函数的重载函数,支持通过parent_unique_sql_id值限制abort patch的生效范围,如表1所示。 限制:仅初始用户、sysadmin、opradmin和monadmin用户有权限调用。 表1 DBE_SQL_UTIL.create_abort_sql_patch重载函数入参和返回值列表 参数 类型 描述 patch_name IN name PATCH名称。 unique_sql_id IN bigint 查询全局唯一id。 parent_unique_sql_id IN bigint 标识外层SQL语句的全局唯一id,值为0时表示限制存储过程外语句SQL PATCH生效;非0值表示限制特定存储过程生效。 description IN text PATCH的备注,默认值为NULL。 enabled IN bool PATCH是否生效,默认值为true。 result OUT bool 执行是否成功。 父主题: DBE_SQL_UTIL Schema
  • 注意事项 EXPLAIN PLAN不支持在DN上执行。 对于执行错误的SQL语句无法进行计划信息的收集。 PLAN_TABLE中的数据是session级生命周期并且session隔离和用户隔离,用户只能看到当前session、当前用户的数据。 PLAN_TABLE无法与GDS外表进行关联查询。 对于不能下推的查询,执行EXPLAIN PLAN后PLAN_TABLE中的object仅收集到REMOTE_QUERY或CTE等信息。详见示例 2。 EXPLAIN中的PLAN选项表示需要将计划信息存储于PLAN_TABLE中,存储成功将返回“EXPLAIN SUC CES S”。 用户可通过STATEMENT_ID对查询设置标签,输入的标签信息也将存储于PLAN_TABLE中。 执行EXPLAIN PLAN 后会将计划信息自动存储于PLAN_TABLE中,不支持对PLAN_TABLE进行INSERT、UPDATE、ANALYZE等操作。PLAN_TABLE详细介绍见PLAN_TABLE。
  • PG_USER_MAPPING PG_USER_MAPPING系统表存储从本地用户到远程的映射。 需要有系统管理员权限才可以访问此系统表。普通用户可以使用视图PG_USER_MAPPINGS进行查询。 表1 PG_USER_MAPPING字段 名称 类型 引用 描述 oid oid - 行标识符(隐含字段,必须明确选择)。 umuser oid PG_AUTHID.oid 被映射的本地用户的OID,如果用户映射是公共的则为0。 umserver oid PG_FOREIGN_SERVER.oid 包含当前映射的外部服务器的OID。 umoptions text[] - 用户映射指定选项,使用“keyword=value”格式的字符串。 父主题: 用户和权限管理
  • SUMMARY_FILE_REDO_IOSTAT 集群内汇总所有节点的Redo(WAL)相关的统计信息,如表1所示。其中phywrts、phyblkwrt、writetim字段按照各节点的数据累加求和,avgiotim为各节点的平均值(汇总的writetim/汇总的phywrts),lstiotim、maxiowtm取各节点的最大值,miniotim取各节点的最小值。 表1 SUMMARY_FILE_REDO_IOSTAT字段 名称 类型 描述 phywrts numeric 向wal buffer中写的次数。 phyblkwrt numeric 向wal buffer中写的block的块数。 writetim numeric 向xLog文件中写操作的时间(单位:微秒)。 avgiotim bigint 平均写xLog的时间(writetim/phywrts,单位:微秒)。 lstiotim bigint 最后一次写xLog的时间(单位:微秒)。 miniotim bigint 最小的写xLog时间(单位:微秒)。 maxiowtm bigint 最大的写xLog时间(单位:微秒)。 父主题: File
  • MY_INDEXES MY_INDEXES视图显示当前用户的索引信息。该视图同时存在于PG_CATALOG和SYS Schema下。具体字段信息如表1所示。 表1 MY_INDEXES字段 名称 类型 描述 owner character varying(64) 索引的所有者。 index_name character varying(64) 索引名称。 table_name character varying(64) 索引对应的表名。 uniqueness text 表示该索引是否为唯一索引。 UNIQUE:唯一索引。 NONUNIQUE:非唯一索引。 partitioned character(3) 表示该索引是否具有分区表的性质。 Yes:索引具有分区表的性质。 No:索引不具有分区表的性质。 generated character varying(1) 表示该索引的名称是否为系统生成。 y:索引名称为系统生成。 n:索引名称非系统生成。 index_type character varying(27) 索引类型。 NORMAL:索引属性都是简单的引用,表达式树为空。 FUNCTION-BASED NORMAL:存在表达式树用于非简单字段引用的索引属性。 table_owner character varying(128) 索引对象的所有者。 table_type character(11) 索引对象的类型。 TABLE:索引对象为表类型。 tablespace_name character varying(30) 包含索引的表空间名称。 status character varying(8) 非分区索引状态。 VALID:非分区索引可以用于查询。 UNUSABLE:非分区索引不可用。 N/A:索引具有分区表性质。 compression character varying(13) 暂不支持,值为NULL。 prefix_length numeric 暂不支持,值为NULL。 ini_trans numeric 暂不支持,值为NULL。 max_trans numeric 暂不支持,值为NULL。 initial_extent numeric 暂不支持,值为NULL。 next_extent numeric 暂不支持,值为NULL。 min_extents numeric 暂不支持,值为NULL。 max_extents numeric 暂不支持,值为NULL。 pct_increase numeric 暂不支持,值为NULL。 pct_threshold numeric 暂不支持,值为NULL。 include_column numeric 暂不支持,值为NULL。 freelists numeric 暂不支持,值为NULL。 freelist_groups numeric 暂不支持,值为NULL。 pct_free numeric 暂不支持,值为NULL。 logging character varying(3) 暂不支持,值为NULL。 blevel numeric 暂不支持,值为NULL。 leaf_blocks numeric 暂不支持,值为NULL。 distinct_keys numeric 暂不支持,值为NULL。 avg_leaf_blocks_per_key numeric 暂不支持,值为NULL。 avg_data_blocks_per_key numeric 暂不支持,值为NULL。 clustering_factor numeric 暂不支持,值为NULL。 num_rows numeric 暂不支持,值为NULL。 sample_size numeric 暂不支持,值为NULL。 last_analyzed date 暂不支持,值为NULL。 degree character varying(40) 暂不支持,值为NULL。 instances character varying(40) 暂不支持,值为NULL。 temporary character varying(1) 暂不支持,值为NULL。 secondary character varying(1) 暂不支持,值为NULL。 buffer_pool character varying(7) 暂不支持,值为NULL。 flash_cache character varying(7) 暂不支持,值为NULL。 cell_flash_cache character varying(7) 暂不支持,值为NULL。 user_stats character varying(3) 暂不支持,值为NULL。 duration character varying(15) 暂不支持,值为NULL。 pct_direct_access numeric 暂不支持,值为NULL。 ityp_owner character varying(128) 暂不支持,值为NULL。 ityp_name character varying(128) 暂不支持,值为NULL。 parameters character varying(1000) 暂不支持,值为NULL。 global_stats character varying(3) 暂不支持,值为NULL。 domidx_status character varying(12) 暂不支持,值为NULL。 domidx_opstatus character varying(6) 暂不支持,值为NULL。 funcidx_status character varying(8) 暂不支持,值为NULL。 join_index character varying(3) 暂不支持,值为NULL。 iot_redundant_pkey_elim character varying(3) 暂不支持,值为NULL。 dropped character varying(3) 暂不支持,值为NULL。 visibility character varying(9) 表示该索引对优化器是否可见。 VISIBLE:索引对优化器可见。 INVISIBLE:索引对优化器不可见。 domidx_management character varying(14) 暂不支持,值为NULL。 segment_created character varying(3) 暂不支持,值为NULL。 orphaned_entries character varying(3) 暂不支持,值为NULL。 indexing character varying(7) 暂不支持,值为NULL。 auto character varying(3) 暂不支持,值为NULL。 父主题: 其他系统视图
  • 逻辑解码 在逻辑解码独立多版本字典中,使用的逻辑解码字典表是系统表。逻辑解码系统表均为实例级系统表,仅管理员权限用户可以查看和修改系统表。 GS_LOGICAL_ATTRDEF GS_LOGICAL_ATTRIBUTE GS_LOGICAL_AUTHID GS_LOGICAL_CLASS GS_LOGICAL_CONSTRAINT GS_LOGICAL_DATABASE GS_LOGICAL_DICTIONARY GS_LOGICAL_INDEX GS_LOGICAL_NAMESPACE GS_LOGICAL_PARTITION GS_LOGICAL_TYPE GS_SQLAPPLY_SKIP GS_TXN_LSN_TIME GS_LOGICAL_SET GS_LOGICAL_ENUM 父主题: 系统表
  • java.sql.Statement java.sql.Statement是SQL语句接口。 表1 对java.sql.Statement的支持情况 方法名 返回值类型 支持JDBC4 addBatch(String sql) void Yes clearBatch() void Yes clearWarnings() void Yes close() void Yes closeOnCompletion() void Yes execute(String sql) boolean Yes execute(String sql, int autoGeneratedKeys) boolean Yes execute(String sql, int[] columnIndexes) boolean Yes execute(String sql, String[] columnNames) boolean Yes executeBatch() boolean Yes executeQuery(String sql) ResultSet Yes executeUpdate(String sql) int Yes executeUpdate(String sql, int autoGeneratedKeys) int Yes executeUpdate(String sql, int[] columnIndexes) int Yes executeUpdate(String sql, String[] columnNames) int Yes getConnection() Connection Yes getFetchDirection() int Yes getFetchSize() int Yes getGeneratedKeys() ResultSet Yes getMaxFieldSize() int Yes getMaxRows() int Yes getMoreResults() boolean Yes getMoreResults(int current) boolean Yes getResultSet() ResultSet Yes getResultSetConcurrency() int Yes getResultSetHoldability() int Yes getResultSetType() int Yes getQueryTimeout() int Yes getUpdateCount() int Yes getWarnings() SQLWarning Yes isClosed() boolean Yes isCloseOnCompletion() boolean Yes isPoolable() boolean Yes setCursorName(String name) void Yes setEscapeProcessing(boolean enable) void Yes setFetchDirection(int direction) void Yes setMaxFieldSize(int max) void Yes setMaxRows(int max) void Yes setPoolable(boolean poolable) void Yes setQueryTimeout(int seconds) void Yes setFetchSize(int rows) void Yes cancel() void Yes executeLargeUpdate(String sql) long No getLargeUpdateCount() long No executeLargeBatch() long No executeLargeUpdate(String sql, int autoGeneratedKeys) long No executeLargeUpdate(String sql, int[] columnIndexes) long No executeLargeUpdate(String sql, String[] columnNames) long No enableStreamingResults() void Yes 通过setFetchSize可以减少结果集在客户端的内存占用情况。它的原理是通过将结果集打包成游标,然后分段处理,所以会加大数据库与客户端的通信量,会有性能损耗。 由于数据库游标是事务内有效,所以,在设置setFetchSize的同时,需要将连接设置为非自动提交模式,setAutoCommit(false)。同时在业务数据需要持久化到数据库中时,在连接上执行提交操作。 LargeUpdate相关方法必须在JDBC4.2及以上版本使用。 enableStreamingResults()是开启流式读的一个自定义接口,该接口间接调用setFetchSize(Integer.MIN_VALUE)。若要开启流式读功能,需要将url中的enableStreamingQuery设置为true,同时调用setFetchSize(Integer.MIN_VALUE)或者enableStreamingResults()。除开启流式读功能外,setFetchSize()的入参只能为正数或者0。 父主题: JDBC接口参考
  • GS_ENCRYPTED_PROC GS_ENCRYPTED_PROC系统表提供了密态函数/存储过程函数参数、返回值的原始数据类型,加密列等信息。 表1 GS_ENCRYPTED_PROC字段 名称 类型 描述 oid oid 行标识符(隐含字段)。 func_id oid function的oid,对应系统表PG_PROC中的oid行标识符。 prorettype_orig integer 返回值的原始数据类型。 last_change timestamp without time zone 密态函数上次修改的时间。 proargcachedcol oidvector 函数INPUT参数对应的加密列的oid,对应系统表GS_ENCRYPTED_COLUMNS中的oid行标识符。 proallargtypes_orig oid[] 所有函数参数的原始数据类型。 父主题: 密态等值查询
  • 字符集与字符序 字符集(Character Set)是字符的编码规则,字符序(Collation)是字符的排序规则,本章主要对GaussDB的MYSQL兼容模式(即sql_compatibility = 'MYSQL')下的字符集、字符序进行介绍,以下介绍的字符集、字符序规则和语法仅在MYSQL兼容模式下支持。 GaussDB目前所支持的字符集可以参考CREATE DATABASE章节中ENCODING部分介绍,所支持的字符序可以通过查询系统表PG_COLLATION。 其中,部分字符集在MySQL模式下存在默认字符序,可以参考表1。 字符集和字符序存在以下说明: 每一个字符集都有一个或多个字符序,只有一个字符序为字符集的默认字符序。 每一个字符序仅有一个相关联的字符集。 相同数据使用不同的字符序排序结果可能会不同。 在GaussDB中,utf8mb4与utf8为同一字符集。 在GaussDB的MySQL模式(即sql_compatibility = 'MYSQL')下,binary字符集与SQL_ASCII字符集为同一字符集。 建议表字段和server_encoding选择相同字符集,避免转码带来的性能损耗。 GaussDB数据库 支持以下功能: 支持多种字符集存储字符串。 支持使用字符序比较字符串。 支持数据库级、模式级、表级、字段级字符集和字符序。 暂不支持在同一服务器、同一数据库、同一个表、同一条SQL语句中混合使用不同字符集和字符序的字符串。 客户端连接的字符集和字符序 数据库级字符集和字符序 模式级字符集和字符序 表级字符集和字符序 列级字符集字符序 字符类型表达式的字符集和字符序 字符集和字符序合并规则 父主题: SQL参考
  • ADM_IND_PARTITIONS ADM_IND_PARTITIONS视图显示数据库中所有一级分区表Local索引的索引分区信息。数据库中每个一级分区表的Local索引的索引分区(如果存在的话)都会在ADM_IND_PARTITIONS里有一行记录。默认只有系统管理员权限才可以访问,普通用户需要授权才可以访问。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 ADM_IND_PARTITIONS字段 名称 类型 描述 index_owner character varying(64) 索引分区所属分区表索引的所有者的名称。 index_name character varying(64) 索引分区所属分区表索引的名称。 partition_name character varying(64) 索引分区的名称。 def_tablespace_name name 索引分区的表空间名称。 high_value text 索引分区所对应分区的上边界。 对于范围分区和间隔分区,显示各分区的上边界值。 对于列表分区,显示各分区的取值列表。 对于哈希分区,显示各分区的编号。 index_partition_usable boolean 索引分区是否可用。 t(true):表示可用。 f(false):表示不可用。 schema character varying(64) 索引分区所属分区表索引的模式。 high_value_length integer 索引分区所对应分区的边界的字符长度。 composite character varying(3) 索引是否属于二级分区表上的本地索引,该表不存储二级分区信息,所以该值为NO。 subpartition_count numeric 分区中的二级分区数,该表不存储二级分区信息,所以该值为0。 partition_position numeric 索引分区在索引中的位置。 status character varying(8) 索引分区是否可用。 tablespace_name name 分区所在表空间的名称。 pct_free numeric 块中最小可用空间百分比。 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(13) 分区索引是否启用索引压缩。 blevel numeric 暂不支持,值为NULL。 leaf_blocks numeric 暂不支持,值为NULL。 distinct_keys numeric 暂不支持,值为NULL。 avg_leaf_blocks_per_key numeric 暂不支持,值为NULL。 avg_data_blocks_per_key numeric 暂不支持,值为NULL。 clustering_factor numeric 根据索引的值表示表中行的顺序。需要通过执行analyze进行统计。 num_rows 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。 user_stats character varying(3) 暂不支持,值为NULL。 pct_direct_access numeric 暂不支持,值为NULL。 global_stats character varying(3) 暂不支持,值为NULL。 domidx_opstatus character varying(6) 暂不支持,值为NULL。 parameters character varying(1000) 暂不支持,值为NULL。 interval character varying(3) 分区是否在间隔分区表的间隔节中。分布式暂不支持间隔分区,该字段值为NO。 segment_created character varying(3) 索引分区段是否已创建。 orphaned_entries character varying(3) 暂不支持,值为NULL。 父主题: 分区表
  • 示例 gaussdb=# deallocate all; DEALLOCATE ALL gaussdb=# prepare p1 as insert /*+ no_gpc */ into t1 select c1,c2 from t2 where c1=$1; PREPARE gaussdb=# execute p1(3); INSERT 0 1 gaussdb=# select * from dbe_perf.global_plancache_status where schema_name='public' order by 1,2; nodename | query | refcount | valid | databaseid | schema_name | params_num | func_id | pkg_id | stmt_id ----------+-------+----------+-------+------------+-------------+------------+---------+--------+--------- (0 rows) dbe_perf.global_plancache_status视图中无结果即没有计划被全局缓存。
  • V_INSTANCE V_INSTANCE视图显示当前数据库的实例信息。默认只有系统管理员权限才可以访问此系统视图,普通用户需要授权才可以访问。该视图同时存在于PG_CATALOG和SYS Schema下。具体字段信息如表1所示。 表1 V_INSTANCE字段 名称 类型 描述 instance_number oid 当前数据库oid。 instance_name character varying(16) 当前数据库名。 host_name character varying(64) 主机名。 version character varying(17) 暂不支持,值为NULL。 version_legacy character varying(17) 暂不支持,值为NULL。 version_full character varying(17) 暂不支持,值为NULL。 startup_time date 暂不支持,值为NULL。 status character varying(12) 暂不支持,值为NULL。 parallel character varying(3) 暂不支持,值为NULL。 thread# numeric 暂不支持,值为NULL。 archiver character varying(7) 暂不支持,值为NULL。 log_switch_wait character varying(15) 暂不支持,值为NULL。 logins character varying(10) 暂不支持,值为NULL。 shutdown_pending character varying(3) 暂不支持,值为NULL。 database_status character varying(17) 暂不支持,值为NULL。 instance_role character varying(18) 暂不支持,值为NULL。 active_state character varying(9) 暂不支持,值为NULL。 blocked character varying(3) 暂不支持,值为NULL。 con_id numeric 暂不支持,值为NULL。 instance_mode character varying(11) 暂不支持,值为NULL。 edition character varying(7) 暂不支持,值为NULL。 family character varying(80) 暂不支持,值为NULL。 database_type character varying(15) 暂不支持,值为NULL。 父主题: 其他系统视图
共100000条
提示

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