华为云用户手册

  • GS_ LOG ICAL_PARTITION GS_LOGICAL_PARTITION系统表存储分区表相关的信息。 表1 GS_LOGICAL_PARTITION字段 字段名称 字段类型 说明 partitionid Oid 分区表OID。 relname name 分区表的名称。 parttype char 分区类型。 parentid oid 父表OID。 relfilenode oid 分区表relfilenode。 reltoastrelid oid TOAST 表的OID。 reltoastidxid oid TOAST索引的OID。 csnmin bigint 插入元组时的 CS N(提交序列号)。 csnmax bigint 更新或删除元组时的 CSN。 originid integer 元组的来源标识符。 createtime timestamp with time zone 插入元组的时间戳。 reltablespace oid 表空间的OID。 dbnode oid 数据库OID。 父主题: 逻辑解码
  • local_preload_libraries 参数说明:指定一个或多个共享库,它们在开始连接前预先加载。多个共享库之间用逗号分隔,除了双引号内的库名,所有的库名都转换为小写。 并非只有系统管理员才能更改此选项,因此只能加载安装的标准库目录下plugins子目录中的库文件,数据库管理员有责任确保该目录中的库都是安全的。local_preload_libraries中指定的项可以明确含有该目录,例如$libdir/plugins/mylib;也可以仅指定库的名称,例如mylib(等价于$libdir/plugins/mylib)。 与shared_preload_libraries不同,在会话开始之前加载模块与在会话中使用到该模块的时候临时加载相比并不具有性能优势。相反,这个特性的目的是为了调试或者测量在特定会话中不明确使用LOAD加载的库。例如针对某个用户将该参数设为ALTER USER SET来进行调试。 每一个支持 GaussDB 的库都有一个“magic block”用于确保兼容性,因此不支持GaussDB的库不能通过这个方法加载。 参数类型:字符串 参数单位:无 取值范围:用逗号分隔的共享库列表,或空字符串。 默认值:"" 设置方式:该参数属于BACKEND类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:当指定的库未找到时,连接会失败。若误设置出错(包括长度超过限制、非法目录等),会影响进程正常拉起。
  • dynamic_library_path 参数说明:设置数据查找动态加载的共享库文件的路径。当需要打开一个可以动态装载的模块并且在CREATE FUNCTION或LOAD命令里面声明的名称没有目录部分时,系统将搜索这个目录以查找声明的文件,仅sysadmin用户可以访问。 参数类型:字符串 参数单位:无 取值范围:用冒号分隔(Windows下是分号分隔)的绝对路径列表。 当一个路径名称以特殊变量$libdir为开头时,会替换为GaussDB发布提供的模块安装路径。例如: 1 dynamic_library_path = '/usr/local/lib/gaussdb:/opt/testgs/lib:$libdir' 设置为空字符串时,表示关闭自动路径搜索。 默认值:"$libdir" 设置方式:该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:由于参数local_preload_libraries和shared_preload_libraries配置的动态库的搜索路径也依赖此参数配置,如果设置此参数为空或其他非法路径会导致动态库加载失败,从而导致数据库服务异常。
  • GaussDB如何创建弱口令? 答:在 GaussDB数据库 中,弱口令字典默认为空,用户可以手动向系统表gs_global_config中新增一条或多条弱口令。 示例如下: --向gs_global_config系统表中插入单个弱口令。 gaussdb=# CREATE WEAK PASSWORD DICTIONARY WITH VALUES ('password1'); --向gs_global_config系统表中插入多个弱口令。 gaussdb=# CREATE WEAK PASSWORD DICTIONARY WITH VALUES ('password2'),('password3'); --查看gs_global_config系统表弱口令。 gaussdb=# SELECT * FROM gs_global_config WHERE NAME LIKE 'weak_password'; name | value -----------------+---------------- weak_password | password1 weak_password | password2 weak_password | password3 (3 rows) 父主题: FAQ
  • 参数 表1 SQLFreeHandle参数 关键字 参数说明 HandleType SQLFreeHandle要释放的句柄类型。必须为下列值之一: SQL_HANDLE_ENV SQL_HANDLE_DBC SQL_HANDLE_STMT SQL_HANDLE_DESC 如果HandleType不是其中之一,SQLFreeHandle返回SQL_INVALID_HANDLE。 Handle 要释放的句柄。
  • SUMMARY_WORKLOAD_SQL_COUNT 显示集群内各CN的workload上的SQL数量分布,如表1所示。 表1 SUMMARY_WORKLOAD_SQL_COUNT字段 名称 类型 描述 node_name name 节点名称。 workload name 负载名称。 select_count bigint select数量。 update_count bigint update数量。 insert_count bigint insert数量。 delete_count bigint delete数量。 ddl_count bigint ddl数量。该统计结果包含用户执行的SQL语句和数据库后台线程执行的SQL语句。 dml_count bigint dml数量。该统计结果包含用户执行的SQL语句和数据库后台线程执行的SQL语句。 dcl_count bigint dcl数量。该统计结果包含用户执行的SQL语句和数据库后台线程执行的SQL语句。 dbid oid 统计信息所属的数据库id。 user_dml_count bigint 用户执行的DML语句的数量。 bg_dml_count bigint 数据库后台线程执行的DML语句的数量。 父主题: Workload
  • 示例 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 --创建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 ) DISTRIBUTE BY HASH (CD_DEMO_SK); --开启事务。 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;
  • 问题规避 如果发现AUTOVACUUM清理死行过慢,跟不上业务死行生成的速度,导致死行持续堆积,则需要人工介入处理,具体策略如下: 调整AUTOVACUUM参数:在系统I/O资源充足的情况下,可以通过减小autovacuum_vacuum_cost_delay来加快VACUUM的清理速度。该参数默认值为20ms,即扫描约20-50个页面时会触发一次强制睡眠,每次睡眠时间为20ms。建议将该参数调整为1ms,以极大地提高后台线程的清理效率。 手动执行VACUUM:如果调整参数后仍无法立即回收死行,可以通过视图获取死行较多的数据表,并对这些表进行手动VACUUM。手动VACUUM不使用I/O管控,会以最大效率清理死行,从而快速减少死行数量。
  • 相关链接 SQL PATCH相关系统函数、系统表、系统视图和接口函数见表1 SQL PATCH相关系统函数、系统表、系统视图和接口函数介绍。 表1 SQL PATCH相关系统函数、系统表、系统视图和接口函数介绍 类别 名称 说明 系统函数 global_sql_patch_func() 全局各个节点上的SQL PATCH信息,用于返回global_sql_patch视图的结果。 系统表 GS_SQL_PATCH GS_SQL_PATCH系统表存储所有SQL_PATCH的状态信息。 系统视图 GLOBAL_SQL_PATCH GLOBAL_SQL_PATCH视图存放所有SQL PATCH的信息,该视图仅在pg_catalog模式下存在。 接口函数 DBE_SQL_UTIL Schema DBE_SQL_UTIL.create_hint_sql_patch create_hint_sql_patch是用于在当前建连的CN上创建调优SQL PATCH的接口函数,返回执行是否成功。 DBE_SQL_UTIL.create_abort_sql_patch create_abort_sql_patch是用于在当前建连的CN上创建避险SQL PATCH的接口函数,返回执行是否成功。 DBE_SQL_UTIL.drop_sql_patch drop_sql_patch是用于在当前建连的CN上删除SQL PATCH的接口函数,返回执行是否成功。 DBE_SQL_UTIL.enable_sql_patch enable_sql_patch是用于在当前建连的CN上开启SQL PATCH的接口函数,返回执行是否成功。 DBE_SQL_UTIL.disable_sql_patch disable_sql_patch是用于在当前建连的CN上禁用SQL PATCH的接口函数,返回执行是否成功。 DBE_SQL_UTIL.show_sql_patch show_sql_patch是用于显示给定patch_name对应SQL PATCH的接口函数,返回运行结果。 DBE_SQL_UTIL.create_hint_sql_patch create_hint_sql_patch是用于创建调优SQL PATCH的接口函数,返回执行是否成功。本函数是原函数的重载函数,支持通过parent_unique_sql_id值限制hint patch的生效范围。 DBE_SQL_UTIL.create_abort_sql_patch create_abort_sql_patch是用于创建避险SQL PATCH的接口函数,返回执行是否成功。本函数是原函数的重载函数,支持通过parent_unique_sql_id值限制abort patch的生效范围。 DBE_SQL_UTIL.create_remote_hint_sql_patch create_remote_hint_sql_patch是用于指定CN创建调优SQL PATCH的接口函数,返回执行是否成功。 DBE_SQL_UTIL.create_remote_abort_sql_patch create_remote_abort_sql_patch是用于指定CN创建避险SQL PATCH的接口函数,返回执行是否成功。 DBE_SQL_UTIL.drop_remote_sql_patch drop_remote_sql_patch是用于指定CN删除SQL PATCH的接口函数,返回执行是否成功。 DBE_SQL_UTIL.enable_remote_sql_patch enable_remote_sql_patch是用于指定CN开启SQL PATCH的接口函数,返回执行是否成功。 DBE_SQL_UTIL.disable_remote_sql_patch disable_remote_sql_patch是用于指定CN禁用SQL PATCH的接口函数,返回执行是否成功。
  • 特性约束 仅支持针对Unique SQL ID添加补丁,如果存在Unique SQL ID冲突,用于hint调优的SQL PATCH可能影响性能,但不影响语义正确性。 仅支持不改变SQL语义的hint作为PATCH,不支持SQL改写。 不支持逻辑备份、恢复。 不支持在DN上创建SQL PATCH。 仅初始用户、运维管理员、监控管理员、系统管理员用户有权限执行。 库之间不共享,创建SQL PATCH时需要连接目标库。如果创建SQL PATCH的CN被剔除并触发全量Build,则会继承全量Build的目标CN中的SQL PATCH,因此建议在各个CN上尽量都创建对应的SQL PATCH。 CN之间由于Unique SQL ID不同,不共享SQL PATCH,需要用户手动在不同的CN上创建对应的SQL PATCH。 限制在存储过程内的SQL PATCH和全局的SQL PATCH不允许同时存在。 使用PREPARE + EXECUTE语法执行的预编译语句执行不支持使用SQL PATCH。存在特殊情况,请参见特殊说明。 SQL PATCH不建议在数据库中长期使用,只应该作为临时规避方法。遇到内核问题所导致的特定语句触发数据库服务不可用问题,以及使用hint进行调优的场景,需要尽快修改业务或升级内核版本解决问题。并且升级后由于Unique SQL ID生成方法可能变化,可能导致规避方法失效。 当前,除DML语句之外,其他SQL语句(如CREATE TABLE等)的Unique SQL ID是对语句文本直接哈希生成的,所以对于此类语句,SQL PATCH对大小写、空格、换行等敏感,即不同文本的语句,即使语义相同,仍然需要对应不同的SQL PATCH。对于DML,则同一个SQL PATCH可以对不同入参的语句生效,并且忽略大小写和空格。
  • SQL语言分为哪几类? 答:SQL语言分为3类,分别为: DDL(Data Definition Language,数据定义语言),用于定义或修改数据库中的对象,如:表、索引、视图等。 DML(Data Manipulation Language,数据操作语言),用于对数据库表中的数据进行操作。如:插入、更新、查询、删除。 DCL(Data Control Language,数据控制语言),用于设置或更改数据库用户或角色权限。 父主题: FAQ
  • MY_COL_COMMENTS MY_COL_COMMENTS视图显示当前用户下表的列注释信息。该视图同时存在于PG_CATALOG和SYS Schema下。具体字段信息如表1所示。 表1 MY_COL_COMMENTS字段 名称 类型 描述 owner character varying(128) 表的所有者。 table_name character varying(128) 表的名称。 column_name character varying(128) 列名称。 comments text 注释。 origin_con_id numeric 暂不支持,值为0。 schema character varying(64) 列所属的名称空间的名称。 父主题: 其他系统视图
  • 获取函数返回值 JDBC调用函数时获取返回值,以下示例展示返回值类型为bit和float8两种数据类型,其他数据类型可参考本示例。 代码运行的前提条件:根据实际情况添加gaussdbjdbc.jar包(例如用户使用IDE执行代码,则需要在本地IDE添加gaussdbjdbc.jar包)。 // 认证用的用户名和密码直接写到代码中有很大的安全风险,建议在配置文件或者环境变量中存放(密码应密文存放,使用时解密),确保安全。 // 本示例以用户名和密码保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量(环境变量名称请根据自身情况进行设置)EXAMPLE_USERNAME_ENV和EXAMPLE_PASSWORD_ENV。 // $ip、$port、database需要用户自行修改。 import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; import java.sql.CallableStatement; import java.sql.SQLException; import java.sql.PreparedStatement; import java.sql.Types; public class Type { public static void main(String[] args) throws SQLException { String driver = "com.huawei.gaussdb.jdbc.Driver"; String username = System.getenv("EXAMPLE_USERNAME_ENV"); String passwd = System.getenv("EXAMPLE_PASSWORD_ENV"); String sourceURL = "jdbc:gaussdb://$ip:$port/database"; Connection conn = null; try { // 加载数据库驱动。 Class.forName(driver); } catch (Exception e) { e.printStackTrace(); } try { // 以非加密方式创建数据库连接。 conn = DriverManager.getConnection(sourceURL, username, passwd); System.out.println("Connection succeed!"); } catch (Exception e) { e.printStackTrace(); } // 建表。 String createsql = "create table if not exists t_bit(col_bit bit, col_bit1 int)"; Statement stmt = conn.createStatement(); stmt.execute(createsql); stmt.close(); // bit类型使用示例,注意此处bit类型取值范围[0,1]。 Statement st = conn.createStatement(); String sqlstr = "create or replace function fun_1()\n" + "returns bit AS $$\n" + "select col_bit from t_bit limit 1;\n" + "$$\n" + "LANGUAGE SQL;"; st.execute(sqlstr); CallableStatement c = conn.prepareCall("{ ? = call fun_1() }"); // 注册输出类型,位串类型。 c.registerOutParameter(1, Types.BIT); c.execute(); // 使用Boolean类型获取结果。 System.out.println(c.getBoolean(1)); // float8类型使用示例。 st.execute("create table if not exists t_float(col1 float8,col2 int)"); PreparedStatement pstm = conn.PreparedStatement("insert into t_float values(?)"); pstm.setDouble(1, 123456.123); pstm.execute(); pstm.close(); // 函数返回值为float8的使用示例。 st.execute( "create or replace function func_float() " + "return float8 " + "as declare " + "var1 float8; " + "begin " + " select col1 into var1 from t_float limit 1; " + " return var1; " + "end;"); CallableStatement cs = conn.prepareCall("{? = call func_float()}"); cs.registerOutParameter(1, Types.DOUBLE); cs.execute(); System.out.println(cs.getDouble(1)); st.close(); // 关闭数据库连接。 try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } 上述示例的运行结果为: Connection succeed! false 123456.123 父主题: 典型应用开发示例
  • ADM_SYS_PRIVS ADM_SYS_PRIVS视图显示授予用户和角色的系统权限信息。默认只有系统管理员权限才可以访问此系统视图,普通用户需要授权才可以访问。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 ADM_SYS_PRIVS字段 名称 类型 描述 grantee character varying(128) 被授予权限的用户或角色的名称。 privilege character varying(40) 用户拥有的系统权限或ANY权限。 系统权限包括rolsuper、rolinherit、rolcreaterole、rolcreatedb、rolcatupdate、rolcanlogin、rolreplication、rolauditadmin、rolsystemadmin、roluseft、rolmonitoradmin、roloperatoradmin、rolpolicyadmin。 ANY权限的取值请参考表1。 admin_option character varying(3) 该授权是否包含ADMIN选项。 YES:包含ADMIN选项。 NO:不包含ADMIN选项。 common character varying(3) 暂不支持,值为NULL。 inherited character varying(3) 暂不支持,值为NULL。 父主题: 用户和权限管理
  • enable_cluster_resize 参数说明:扩容工具在内核的唯一标识,此参数开启表示当前session为扩容工具连接。 参数类型:布尔型 参数单位:无 取值范围: on:表示当前session为扩容工具连接。 off:表示当前session不是扩容工具连接。 默认值:off 设置方式:该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:此参数用于内部运维场景,请勿随意开启。 设置不当的风险与影响:用户强制设置为on时,内核认为当前session为扩容工具,可以执行扩容相关系统函数或DDL接口,存在误用风险。
  • change_cluster_mode 参数说明:用于表示集群是否处于模式切换过程中,其中“模式切换”是指:一主两备集群切换为一主一备一日志集群,或一主一备一日志集群切换为一主两备集群,或一主一备一日志集群中备DN和日志DN互切。 参数类型:整型 参数单位:无 取值范围:0 ~ 2147483647 0表示不处于集群模式切换过程中。 1表示处于集群模式切换过程中。 其他值无实际意义,效果等同于设置为0。 默认值:0 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:该参数用于控制“分布式备机读”功能是否正常可用。当设置为1时,“分布式备机读”功能将无法使用,请谨慎设置该参数。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
  • enable_partrouting_optimization 参数说明:控制是否支持分区表插入优化。 参数类型:布尔型 参数单位:无 取值范围: on:表示支持分区表插入优化,针对INSERT、SELECT语句,当SELECT包含常量分区键时,INSERT只需要做一次分区路由,提升性能。 off:表示不支持分区表插入优化,插入每一条数据前都需要做一次分区路由去确定插入哪一张分区表。 默认值:on 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:如果关闭该参数,部分插入分区表的场景会没有该参数带来的性能优化效果,无其他影响。 分区表插入优化约束: 只支持INSERT、SELECT语句。 INSERT INTO ta SELECT FROM tb中,插入a表中所有分区键的值,对应SELECT结果集中的列值必须是常量(可以不存在该列,因为默认值也是恒定的)。 INSERT INTO ta SELECT c,d FROM b WHERE tb.c='1'或SELECT '1' AS c, d FROM tb则可以判断结果列tb.c为常量。 INSERT INTO ta SELECT c,d FROM b WHERE tb.c=func('1'); 如果func()不是volatile函数,也不是包含非常量参数的stable/immutable函数,则可以判断tb.c为常量。 如果列值为聚合函数的返回值,如:INSERT INTO ta SELECT count(c),d FROM b WHERE tb.c='1' GROUP BY c, d; 不能判断count(c)为常量。 不支持UPSERT子句。 不支持包含before和instead触发器的表,因为可能改变要插入的数据。
  • enable_unique_checking_of_unusable_index 参数说明:控制当表中存在UNUSABLE的唯一索引时,插入和更新操作是否需要阻塞。 参数类型:布尔型 参数单位:无 取值范围: on:表示当表中存在UNUSABLE的唯一索引时,INSERT语句和涉及到索引的UPDATE语句会报错,提示先处理UNUSABLE的唯一索引。 off:表示当表中存在UNUSABLE的唯一索引时,INSERT语句和涉及到索引的UPDATE语句不会报错。 默认值:off 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:根据业务需要进行设置,推荐设置为on。 设置不当的风险与影响:如果打开该参数,为了保证唯一性约束,业务可能会存在大量报错;如果关闭该参数,会导致表中插入唯一索引列的重复数据,导致该索引无法直接重建。 该参数打开时: 对于astore表,更新非UNUSABLE索引的索引列时也会报错,因为会产生新的元组。 对于ustore非分区表,更新非UNUSABLE索引的索引列时不会报错;如果是非原地更新,更新非UNUSABLE索引的索引列时也会报错。 对于ustore分区表,UNUSABLE的唯一索引是全局索引时,更新分区键后若新数据与老数据不在同一分区,也会报错,因为会产生新的元组。 对于ustore分区表,UNUSABLE的唯一索引是包含分区键的LOCAL索引时,更新分区键也会报错。
  • integer_datetimes 参数说明:报告是否支持64位整数形式的日期和时间格式。 参数类型:布尔型 参数单位:无 取值范围: on:表示支持64位整数形式的日期和时间格式。 off:表示不支持64位整数形式的日期和时间格式。 默认值:on 设置方式:该参数属于INTERNAL类型参数,为固定参数,用户无法修改此参数,只能查看。 设置建议:该参数不允许用户进行设置,只能查看。 设置不当的风险与影响:无
  • dfs_partition_directory_length 参数说明:在HDFS文件系统上,构造HDFS VALUE分区表的分区目录时,目录名长度的上限值。 参数类型:整型 参数单位:无 取值范围:92 ~ 7999 默认值:512 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
  • max_concurrent_autonomous_transactions 参数说明:自治事务最大连接数,即同一时间自治事务执行的最大并发数。当设置为0时,将无法执行自治事务。 参数类型:整型 参数单位:无 取值范围:0 ~ 10000,理论最大值为10000,实际最大值为动态值,计算公式为“262143 - job_queue_processes - autovacuum_max_workers - max_inner_tool_connections - max_connections - AUXILIARY_BACKENDS - AV_LAUNCHER_PROCS”。其中,job_queue_processes、autovacuum_max_workers、max_inner_tool_connections和max_connections的值取决于对应GUC参数的设置;AUXILIARY_BACKENDS为预留辅助线程数,固定为20;AV_LAUNCHER_PROCS为预留autovacuum的launcher线程数,固定为2。 默认值: 独立部署:80(60核CPU/480G内存);40(32核CPU/256G内存);20(16核CPU/128G内存);10(8核CPU/64G内存,4核CPU/32G内存,4核CPU/16G内存) 设置方式:该参数属于POSTMASTER类型参数,请参考表表1中对应设置方法进行设置。 设置建议:根据实际业务需要和硬件配置设置此参数,建议不超过max_connections的1/10。若仅调大此参数,未同比例调整内存参数,业务压力大时,容易出现内存不足,报错提示“memory is temporarily unavailable”。 设置不当的风险与影响:若升级过程中涉及此参数范围变更,并且在commit前修改了此参数,则如果执行升级回滚,需要将此参数调整至升级前允许的范围,否则可能导致数据库无法启动。
  • enable_gpi_auto_update 参数说明:控制在分区DDL命令中是否默认更新Global索引。 参数类型:布尔型 参数单位:无 取值范围: on:表示默认更新Global索引,此时无论分区DDL带不带UPDATE GLOBAL INDEX子句,都会更新Global索引。 off:表示默认不更新Global索引,此时只有当分区DDL带UPDATE GLOBAL INDEX子句时,才会更新Global索引。 默认值:off 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:根据业务需要进行设置。 设置不当的风险与影响:设置为off,当分区DDL未带UPDATE GLOBAL INDEX子句时,会使Global索引不可用。该参数必须在CN和DN设置为相同值,否则可能会导致Global索引功能异常。
  • enable_gpi_fast_prune 参数说明:控制Ustore表的全局分区索引在DML过程中是否清理之前DDL操作产生的垃圾元组。 参数类型:布尔型 参数单位:无 取值范围: on:表示清理,即除了AutoVacuum线程会清理DDL产生的垃圾元组,在DML过程中如果索引页面空间不够,也会触发DDL产生的垃圾元组的清理。 off:表示不清理,即只有AutoVacuum线程会清理DDL产生的垃圾元组。 默认值:on。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:根据业务需要进行设置。如果业务有分区表和全局分区索引,且存在比较多的DDL操作和DML操作,则建议进行开启。如果业务的分区表没有全局分区索引或者没有分区表的DDL操作,则建议进行关闭。 设置不当的风险与影响:设置为off,即只有AutoVacuum线程会清理DDL产生的垃圾元组,则GPI索引空间可能会发生膨胀。
  • server_encoding 参数说明:报告当前数据库的服务端编码字符集。 默认情况下,gs_initdb会根据创建数据库时的系统环境初始化此参数,通过locale命令可以查看当前的配置环境。 参数类型:字符串 参数单位:无 取值范围:字符串 默认值:在创建数据库的时候由系统环境决定。 设置方式:该参数属于INTERNAL类型参数,为固定参数,用户无法修改此参数,只能查看。 设置建议:该参数不允许用户进行设置,只能查看。 设置不当的风险与影响:无
  • datanode_heartbeat_interval 参数说明:设置心跳线程间发送心跳消息的时间间隔。 参数类型:整型 参数单位:ms(毫秒) 取值范围:1000 ~ 60000 默认值:1000(即1s) 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。例如,不带单位取值1000,表示datanode_heartbeat_interval为1000ms;带单位取值1s,表示datanode_heartbeat_interval为1s。取值如果要带单位,必须为ms、s、min、h、d。 设置建议:建议取值不超过wal_receiver_timeout/2。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
  • cluster_run_mode 参数说明:双集群容灾场景标识CN/DN节点属于主集群还是备集群。单集群使用默认值。 参数类型:枚举类型 参数单位:无 取值范围: cluster_primary:表示节点是主集群的节点。 cluster_standby:表示节点是备集群的节点。 默认值:cluster_primary 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:标记灾备集群使用的参数,不建议客户设置。 设置不当的风险与影响:修改后可能导致灾备集群异常。
  • enable_ustore 参数说明:指定是否开启Ustore存储引擎,该参数为on时,支持创建Ustore表。 参数类型:布尔型 参数单位:无 取值范围: on:表示开启Ustore存储引擎。 off:表示不开启Ustore存储引擎。 默认值:on 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:用于USTORE的支持版本控制,不建议修改。 设置不当的风险与影响:需要特别注意的是,使用Ustore表时,必须要开启track_counts和track_activities参数,否则会引起空间膨胀。
  • enable_segment_datafile_preallocate 参数说明:指定是否开启段页式文件扩展时立即分配磁盘空间模式。 参数类型:布尔型 参数单位:无 取值范围: on:表示开启立即分配磁盘空间模式,文件扩展时优先使用fallocate立即分配磁盘空间,如果系统不支持fallocate,则使用逐字节写零方式申请磁盘空间。 off:表示不开启立即分配磁盘空间模式,文件扩展时不立即分配磁盘空间,文件以空洞方式增长。 默认值:on 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
  • reserve_space_for_nullable_atts 参数说明:指定是否为Ustore表的可空属性预留空间。 参数类型:布尔型 参数单位:无 取值范围: on:表示为Ustore表的可空属性预留空间。 off:表示不为Ustore表的可空属性预留空间。 默认值:on 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
  • enable_default_ustore_table 参数说明:指定是否默认使用Ustore存储引擎。仅当enable_ustore参数开启时,该参数设置有效。该参数为on时,创建的表默认都为Ustore表;该参数为off时,创建的表默认都为Astore表。升级场景下该参数的默认值会优先保证兼容性,即升级后的默认值与老版本的取值一致。 参数类型:布尔型 参数单位:无 取值范围: on:表示默认使用Ustore存储引擎。 off:表示默认不使用Ustore存储引擎。 默认值:on 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:需要特别注意的是,使用Ustore表时,必须要开启track_counts和track_activities参数,否则会引起空间膨胀。
共100000条
提示

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