华为云用户手册

  • 功能介绍 gs_ktool为客户端提供CMK明文,以保证其能够对CEK的进行加解密;与此同时,gs_ktool还为用户提供人机交互接口,以支持以下功能: 支持管理CMK:创建、删除、查询、导入和导出CMK。其中,查询功能不支持查询CMK的明文或者密文。目前,gs_ktool不支持更新CMK,用户仅能通过删除旧的密钥,并创建新的密钥以达到同等的效果. 全密态当前仅支持华为云KMS,gs_ktool不具备自动备份密钥能力,一旦密钥丢失,则数据无法恢复,建议gs_ktool仅作为验证与调试使用。 如果用户需要将gs_ktool中密钥进行备份,请手工执行密钥导出命令。并请注意,在进行密钥导入时,会覆盖当前gs_ktool中保存的所有密钥,请谨慎使用。 支持管理RK:查询、更新RK. 支持查询操作日志:针对上述对密钥进行管理的操作,gs_ktool均会记录相关的操作日志,用户可查看日志文件。
  • 参数说明 表2 gs_ktool参数说明 参数 参数说明 参数类型 : 取值范围 -g 生成单个密钥,可在配置文件中配置默认的CMK长度。 - -l CMK_LENTH 配合-g使用,可指定生成的CMK长度。 整型 : [16, 112] bytes -d CMK_ID 删除指定CMK。 整型 : [1, 4095]; 字符型 : all -s CMK_ID 查询指定CMK的信息,不包含CMK明文或密文。 整型 : [1, 4095]; 字符型 : all -e 导出当前gs_ktool中的全部密钥到文件中,可使用-f指定导出文件。 - -i 从指定密钥文件中导入全部密钥,必须使用-f指定密钥文件;请注意该操作的覆盖特性。 - -f FILE 配合-i和-e使用,指定密钥文件的位置(可指定绝对路径或相对路径,但必须是已存在的路径;当配合-e使用时,如果指定的文件不存在,则新建,如果已存在,则会覆盖)。 字符型 : 绝对路径/日志文件名 -p FILE_PASSWORD 配和-i和-e使用,输入密钥文件的口令(如果未使用该参数,则默认使用交互式口令输入方式)。 字符型 : 长度区间为[8, 255],且至少包含3种类型的字符。 -R -u 轮转(更新)RK;该操作会更新CMK的密文。 - -R -s 查询RK的信息,不包含RK的明文或密文。 - -v 查看版本信息。 - -h, -? 查看使用帮助。 - 在使用gs_ktool -d all命令删除全部密钥时,命令执行的过程中,如果同时使用gs_ktool -g命令生成密钥,新生成的密钥可能会被删除。
  • 环境变量 GS_KTOOL_FILE_PATH:gs_ktool运行时需要读取配置文件gs_ktool_conf.ini,使用GS_KTOOL_FILE_PATH来设置配置文件的路径。默认情况下,运行gs_ktool时生成的密钥存储文件和日志文件也会存储在该路径下。 解压 GaussDB -Kernel_数据库版本号_操作系统版本号_64bit_gsql.tar.gz包后,可在gs_ktool_file路径下找到gs_ktool_conf.ini配置文件,该文件中所有配置项已设置缺省值;另外,通过指令"source gsql_env.sh"可配置环境变量$GS_KTOOL_FILE_PATH。 表1 gs_ktool_conf.ini配置文件说明 配置项 配置项说明 参数类型 : 取值范围 rk_validity 生成RK时,默认的有效期(该配置项仅在生成RK时有效,即生成密钥文件时)。 整型 : [1, 10000] days cmk_validity 生成CMK时,默认的有效期。 整型 : [1, 3660] days cmk_length 生成CMK时,默认的密钥长度。 整型 : [16, 112] bytes pri_ksf 密钥存储文件。 字符型 : 绝对路径/密钥文件名 sec_ksf 备份的密钥存储文件。 字符型 : 绝对路径/密钥文件名 export_ksf 导出密钥时,默认的密钥存储文件。 字符型 : 绝对路径/密钥文件名 is_logmodule_open 是否打开日志记录功能。 字符型 : {ON, OFF} log_file 日志文件。 字符型 :绝对路径/日志文件名
  • 其他故障 出现因“总线错误”(Bus error)导致的core dump或异常退出。 一般情况下出现此种问题,是进程运行过程中加载的共享动态库(在Linux为.so文件)出现变化;或者进程二进制文件本身出现变化,导致操作系统加载机器的执行码或者加载依赖库的入口发生变化,操作系统出于保护目的将进程杀死,产生core dump文件。 解决此问题,重试便可。同时请尽可能避免在升级等运维操作过程中,在数据库内部运行业务程序,避免升级时因替换文件产生此问题。 此故障的core dump文件的可能堆栈是dl_main及其子调用,它是操作系统用来初始化进程做共享动态库加载的。如果进程已经初始化,但是共享动态库还未加载完成,严格意义上来说,进程并未完全启动。
  • 创建连接故障 gsql: could not connect to server: No route to host 此问题一般是指定了不可达的地址或者端口导致的。请检查-h参数与-p参数是否添加正确。 gsql: FATAL: Invalid username/password,login denied. 此问题一般是输入了错误的用户名和密码导致的,请联系数据库管理员,确认用户名和密码的正确性。 gsql: FATAL: Forbid remote connection with trust method! 数据库由于安全问题,禁止远程登录时使用trust模式。这时需要修改pg_hba.conf里的连接认证信息。 请联系管理员处理 。 请不要修改pg_hba.conf中数据库主机的相关设置,否则可能导致数据库功能故障。建议业务应用部署在数据库之外,而非数据库内部。 在DN连接数据库,添加“-h 127.0.0.1”可以连接,去掉后无法连接问题。 通过执行SQL语句“show unix_socket_directory”检查DN使用的Unix套接字目录,是否与shell中的环境变量$PGHOST一致。 如果检查结果不一致,那么修改PGHOST环境变量到GUC参数unix_socket_directory指向的目录便可。 关于unix_socket_directory的更多信息,请联系管理员获取。 The "libpq.so" loaded mismatch the version of gsql, please check it. 此问题是由于环境中使用的libpq.so的版本与gsql的版本不匹配导致的,请通过“ldd gsql”命令确认当前加载的libpq.so的版本,并通过修改LD_LIBRARY_PATH环境变量来加载正确的libpq.so。 请参照下面示例,修改LD_LIBRARY_PATH环境变量。其中${path_to_correct_libpq_dir}表示实际环境中正确libpq.so所在目录 export LD_LIBRARY_PATH=${path_to_correct_libpq_dir}:$LD_LIBRARY_PATH gsql: symbol lookup error: xxx/gsql: undefined symbol: libpqVersionString 此问题是由于环境中使用的libpq.so的版本与gsql的版本不匹配导致的(也有可能是环境中存在PostgreSQL的libpq.so),请通过“ldd gsql”命令确认当前加载的libpq.so的版本,并通过修改LD_LIBRARY_PATH环境变量来加载正确的libpq.so。 gsql: connect to server failed: Connection timed out Is the server running on host "xx.xxx.xxx.xxx" and accepting TCP/IP connections on port xxxx? 此问题是由于网络连接故障造成。请检查客户端与数据库服务器间的网络连接。如果发现从客户端无法PING到数据库服务器端,则说明网络连接出现故障。请联系网络管理人员排查解决。 ping -c 4 10.10.10.1 PING 10.10.10.1 (10.10.10.1) 56(84) bytes of data. From 10.10.10.1: icmp_seq=2 Destination Host Unreachable From 10.10.10.1 icmp_seq=2 Destination Host Unreachable From 10.10.10.1 icmp_seq=3 Destination Host Unreachable From 10.10.10.1 icmp_seq=4 Destination Host Unreachable --- 10.10.10.1 ping statistics --- 4 packets transmitted, 0 received, +4 errors, 100% packet loss, time 2999ms gsql: FATAL: permission denied for database "gaussdb" DETAIL: User does not have CONNECT privilege. 此问题是由于用户不具备访问该数据库的权限,可以使用如下方法解决。 使用管理员用户dbadmin连接数据库。 gsql -d gaussdb -U dbadmin -p 8000 赋予该用户访问数据库的权限。 GRANT CONNECT ON DATABASE gaussdb TO user1; 实际上,常见的许多错误操作也可能产生用户无法连接上数据库的现象。如用户连接的数据库不存在,用户名或密码输入错误等。这些错误操作在客户端工具也有相应的提示信息。 gsql -d gaussdb -p 8000 gsql: FATAL: database "gaussdb" does not exist gsql -d gaussdb -U user1 -p 8000 Password for user user1: gsql: FATAL: Invalid username/password,login denied. gsql: FATAL: sorry, too many clients already,active/non-active: 197/3. 此问题是由于系统连接数量超过了最大连接数量。请联系数据库DBA进行会话连接数管理,释放无用会话。 关于查看用户会话连接数的方法如表1。 会话状态可以在视图PG_STAT_ACTIVITY中查看。无用会话可以使用函数pg_terminate_backend进行释放。 select datid,pid,state from pg_stat_activity; datid | pid | state -------+-----------------+-------- 13205 | 139834762094352 | active 13205 | 139834759993104 | idle (2 rows) 其中pid的值即为该会话的线程ID。根据线程ID结束会话。 SELECT PG_TERMINATE_BACKEND(139834759993104); 显示类似如下信息,表示结束会话成功。 PG_TERMINATE_BACKEND ---------------------- t (1 row) 表1 查看会话连接数 描述 命令 查看指定用户的会话连接数上限。 执行如下命令查看连接到指定用户USER1的会话连接数上限。其中-1表示没有对用户user1设置连接数的限制。 SELECT ROLNAME,ROLCONNLIMIT FROM PG_ROLES WHERE ROLNAME='user1'; rolname | rolconnlimit ---------+-------------- user1 | -1 (1 row) 查看指定用户已使用的会话连接数。 执行如下命令查看指定用户USER1已使用的会话连接数。其中,1表示USER1已使用的会话连接数。 SELECT COUNT(*) FROM dv_sessions WHERE USERNAME='user1'; count ------- 1 (1 row) 查看指定数据库的会话连接数上限。 执行如下命令查看连接到指定数据库gaussdb的会话连接数上限。其中-1表示没有对数据库gaussdb设置连接数的限制。 SELECT DATNAME,DATCONNLIMIT FROM PG_DATABASE WHERE DATNAME='gaussdb'; datname | datconnlimit ----------+-------------- gaussdb | -1 (1 row) 查看指定数据库已使用的会话连接数。 执行如下命令查看指定数据库gaussdb上已使用的会话连接数。其中,1表示数据库gaussdb上已使用的会话连接数。 SELECT COUNT(*) FROM PG_STAT_ACTIVITY WHERE DATNAME='gaussdb'; count ------- 1 (1 row) 查看所有用户已使用会话连接数。 执行如下命令查看所有用户已使用的会话连接数。 SELECT COUNT(*) FROM dv_sessions; count ------- 10 (1 row) gsql: wait xxx.xxx.xxx.xxx:xxxx timeout expired gsql在向数据库发起连接的时候,会有5分钟超时机制,如果在这个超时时间内,数据库未能正常的对客户端请求进行校验和身份认证,那么gsql会退出当前会话的连接过程,并报出如上错误。 一般来说,此问题是由于连接时使用的-h参数及-p参数指定的连接主机及端口有误(即错误信息中的xxx部分),导致通信故障;极少数情况是网络故障导致。要排除此问题,请检查数据库的主机名及端口是否正确。 gsql: could not receive data from server: Connection reset by peer. 同时,检查DN日志中出现类似如下日志“ FATAL: cipher file "/data/coordinator/server.key.cipher" has group or world access”,一般是由于数据目录或部分关键文件的权限被误操作篡改导致。请参照其他正常实例下的相关文件权限,修改回来便可。 gsql: FATAL: GSS authentication method is not allowed because XXXX user password is not disabled. 目标DN的pg_hba.conf里配置了当前客户端IP使用"gss"方式来做认证,该认证算法不支持用作客户端的身份认证,请修改到"sha256"后再试。具体操作请联系管理员处理。 请不要修改pg_hba.conf中数据库主机的相关设置,否则可能导致数据库功能故障。 建议业务应用部署在数据库之外,而非数据库内部。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 slow_logs Array of objects GeminiDB Influx慢日志列表。详情请参考表5。 表5 InfluxdbSlowLogDetail 参数 参数类型 描述 node_id String 节点ID。 node_name String 节点名称。 whole_message String 执行语句。 operate_type String 语句类型。 cost_time String 执行时间。单位:ms。 log_time String 日志产生时间,UTC时间。格式为“yyyy-mm-ddThh:mm:ssZ”。其中,T指某个时间的开始;Z指时区偏移量,例如北京时间偏移显示为+0800。 database String 数据库名称。 retention_policy String 保留策略。 line_num String 日志单行序列号。
  • 请求示例 查询2023-07-06 10:41:14~2023-07-10 10:41:14的100条select慢日志。 POST https://{Endpoint}/v3/2900b7b8d03e4619b8db8d43bc6234ee/influxdb/instances/4466bd981011413cb98514e1cc20fdb0in13/slow-logs { "start_time" : "2023-07-06T10:41:14+0800", "end_time" : "2023-07-10T10:41:14+0800", "limit" : 100, "line_num" : "1595659490239433658", "operate_type" : "SELECT", "node_id" : "8b76c35e91eb4c9d82fe25417d750cb5no13", "max_cost_time" : 100, "min_cost_time" : 50, "database" : "dbname" , "retention_policy" : "monitor" }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 表3 请求Body参数 参数 是否必选 参数类型 描述 start_time 是 String 开始时间,格式为“yyyy-mm-ddThh:mm:ssZ”。 其中,T指某个时间的开始;Z指时区偏移量,例如北京时间偏移显示为+0800。 注:开始时间不得早于当前时间30天。 end_time 是 String 结束时间,格式为“yyyy-mm-ddThh:mm:ssZ”。 其中,T指某个时间的开始;Z指时区偏移量,例如北京时间偏移显示为+0800。 注:结束时间不能晚于当前时间。 limit 是 Integer 表示每次查询的日志条数,最大限制100条。 line_num 否 String 日志单行序列号,第一次查询时不需要此参数,下一次查询时需要使用,可从上一次查询的返回信息中获取。说明:当次查询从line_num的下一条日志开始查询,不包含当前line_num日志。 operate_type 否 String 语句类型,取空值,表示查询所有语句类型。 枚举值: SELECT DELETE SHOW DROP CREATE ALTER node_id 否 String 节点ID,取空值,表示查询实例下所有允许查询的节点。具体取值请参考表10中的“id”。 keywords 否 String 根据多个关键字搜索日志全文,表示同时匹配所有关键字。最多支持10个关键字,每个关键字最大长度不超过512个字符。 max_cost_time 否 Integer 支持根据最大执行时间范围查找日志。单位:ms。 min_cost_time 否 Integer 支持根据最小执行时间范围查找日志。单位:ms。 database 否 String 数据库名称。 retention_policy 否 String 保留策略。
  • enable_expr_fusion 参数说明:控制SRF、表达式展平、取消集中式Seq Scan投影、共享聚合函数的转移状态和Step步数优化特性的开关。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 off:为默认取值,表示关闭本功能。 on:表示同时启用SRF、表达式展平、取消集中式Seq Scan投影、共享聚合函数的转移状态和Step步数优化特性。 默认值:off 只支持query_dop=1的场景。
  • try_vector_engine_strategy 参数说明:设置行存表走向量化执行引擎的策略。通过设置该参数,可以使包含行存表的查询可以转换为向量化的执行计划执行计算,从而提升类AP场景的复杂查询的执行性能。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:枚举型 off,为默认取值,表示关闭本功能,即行存表不会转换为向量的执行计划执行。 force,表示只要查询中不包含向量化引擎不支持的类型或者表达式,则不论查询的基表为行存表、列存表,还是行列混合存储的,强制将查询转换为向量化的执行计划执行计算。在这种情况下,针对不同的查询场景可能出现性能下降。 optimal,表示在force的基础上,由优化器根据查询的复杂度进行选择是否将查询语句转换为向量化的执行计划,尽可能避免转换为向量化的执行计划后出现性能下降。 默认值:off
  • expected_computing_nodegroup 参数说明:标识选定的计算Node Group模式或目标计算Node Group。Node Group目前为内部用机制,用户无需设置。 共4种计算Node Group模式,用于关联操作和聚集操作时选定计算Node Group。在每一种模式中,优化器有针对性地选定几个候选计算Node Group,然后根据代价,从中为当前算子挑选最佳计算Node Group。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串 optimal:候选计算Node Group列表包含算子操作对象所在的Node Group和由当前用户具有COMPUTE权限的所有Node Group包含的所有DN构成的Node Group query:候选计算Node Group列表包含算子操作对象所在的Node Group和由当前查询涉及的所有基表所在Node Group包含的所有DN构成的Node Group Node Group名(enable_nodegroup_debug被设置为off):候选计算Node Group列表包含算子操作对象所在的Node Group和该指定的Node Group Node Group名(enable_nodegroup_debug被设置为on):候选计算Node Group为指定的Node Group 默认值:query
  • qrw_inlist2join_optmode 参数说明:控制是否使用inlist-to-join查询重写。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串 disable:关闭inlist2join查询重写。 cost_base:基于代价的inlist2join查询重写。 rule_base:基于规则的inlist2join查询重写,即强制使用inlist2join查询重写。 任意正整数:inlist2join查询重写阈值,即list内元素个数大于该阈值,进行inlist2join查询重写。 默认值:cost_base
  • enable_nodegroup_debug 参数说明:控制优化器在多Node Group环境下,是否使用强制弹性计算。Node Group目前为内部用机制,用户无需设置。 该参数只在expected_computing_nodegroup被设置为具体Node Group时生效。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示强制将计算弹性到expected_computing_nodegroup所指定的Node Group进行计算。 off表示不强制使用某个Node Group进行计算。 默认值:off
  • enable_default_index_deduplication 参数说明:设置btree索引默认情况下是否对键值重复的元组进行去重压缩。去重压缩功能对主键索引和唯一索引不生效。在重复键值的索引较多时,去重压缩功能可以有效降低索引占用空间。非唯一索引且索引键值重复度很低或者唯一的场景,去重压缩功能会使索引插入性能小幅度劣化。若创建索引时带有with (deduplication=on/off)语法时,优先根据deduplication参数决定该索引是否使用去重压缩功能。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 off:为默认取值,表示btree索引默认关闭索引去重压缩功能。 on:表示btree索引默认开启索引去重压缩功能。 默认值:off
  • enable_stream_operator 参数说明:控制优化器对stream的使用。当enable_stream_operator参数关闭时,会有大量关于计划不能下推的日志记录到日志文件中。如果用户不需要这些日志内容,建议用户在enable_stream_operator参数关闭时,也同时关闭enable_unshipping_log参数。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示使用。 off表示不使用。 默认值: 独立部署:off
  • best_agg_plan 参数说明:对于stream下的Agg操作,优化器会生成三种计划: hashagg+gather(redistribute)+hashagg。 redistribute+hashagg(+gather)。 hashagg+redistribute+hashagg(+gather)。 本参数用于控制优化器生成哪种hashagg的计划。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:0,1,2,3 取值为1时,强制生成第一种计划。 取值为2时,如果group by列可以重分布,强制生成第二种计划,否则生成第一种计划。 取值为3时,如果group by列可以重分布,强制生成第三种计划,否则生成第一种计划。 取值为0时,优化器会根据以上三种计划的估算cost选择最优的一种计划生成。 默认值:0
  • agg_redistribute_enhancement 参数说明:当进行Agg操作时,如果包含多个group by列且均不为分布列,进行重分布时会选择某一group by列进行重分布。本参数控制选择重分布列的策略。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示会选择估算distinct值最多的一个可重分布列作为重分布列。 off表示会选择第一个可重分布列为重分布列。 默认值:off
  • enable_stream_concurrent_update 参数说明:控制优化器在并发更新场景下对stream的使用,该参数受限于enable_stream_operator参数。如果出现并发update冲突,有一定可能会出现报错,可以通过本参数控制。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示允许优化器对update语句生成stream计划。 off表示优化器对update语句仅能生成非stream计划。 默认值:on
  • enable_transaction_read_only 参数说明:控制是否打开cm_server磁盘自动阈值检测功能,该功能打开后,当磁盘使用率大于datastorage_threshold_value_check值时,cm_server会自动将数据库设置为只读模式。 取值范围:布尔型,有效值有on,off,true,false,yes,no,1,0。修改后可以reload生效,参数修改请参考表2进行设置。 默认值:on
  • cm_krb_server_keyfile 参数说明:kerberos服务端key文件所在位置,需要配置为绝对路径。该文件通常为${GAUSSHOME}/kerberos路径下,以keytab格式结尾,文件名与集群运行所在用户名相同。与上述cm_auth_method参数是配对的,当cm_auth_method参数修改为gss时,该参数也必须配置为正确路径,否则将影响集群状态 取值范围:字符串类型,修改后可以reload生效,参数修改请参考表2进行设置。 默认值:${GAUSSHOME}/kerberos/{UserName}.keytab,默认值无法生效,仅作为提示
  • datastorage_threshold_value_check 参数说明:设置数据库只读模式的磁盘占用阈值,当数据目录所在磁盘占用超过这个阈值,自动将数据库设置为只读模式。调整该参数时,建议同步调整dn的max_size_for_xlog_retention参数,避免因备份操作触发集群只读阈值。 取值范围:整型,1 ~ 99,表示百分比。修改后可以reload生效,参数修改请参考表2进行设置。 默认值:85
  • ddb_log_level 参数说明:设置ddb日志级别。 关闭日志:“NONE”,NONE表示关闭日志打印,不能与以下日志级别混合使用。 开启日志:“RUN_ERR|RUN_WAR|RUN_INF|DEBUG_ERR|DEBUG_WAR|DEBUG_INF|TRACE|PROFILE|OPER”日志级别可以从上述字符串中选取字符串并使用竖线组合使用,不能配置空串。 取值范围:字符串,RUN_ERR|RUN_WAR|RUN_INF|DEBUG_ERR|DEBUG_WAR|DEBUG_INF|TRACE|PROFILE|OPER。修改后可以reload生效,参数修改请参考表2进行设置。 默认值:RUN_ERR|RUN_WAR|DEBUG_ERR|OPER|RUN_INF|PROFILE
  • alarm_component 参数说明:设置用于处理告警内容的告警组件的位置。 取值范围:字符串。修改后可以reload生效,参数修改请参考表2进行设置。 若前置脚本gs_preinstall中的--alarm-type参数设置为5时,表示未对接第三方组件,告警写入system_alarm日志,此时GUC参数alarm_component的取值为:/opt/huawei/snas/bin/snas_cm_cmd。 若前置脚本gs_preinstall中的--alarm-type参数设置为1时,表示对接第三方组件,此时GUC参数alarm_component的值为第三方组件的可执行程序的绝对路径。 默认值:/opt/huawei/snas/bin/snas_cm_cmd
  • change_cluster_mode 参数说明:用于表示集群是否处于模式切换过程中,其中“模式切换”是指:一主两备集群切换为一主一备一日志集群,或一主一备一日志集群切换为一主两备集群,或一主一备一日志集群中备DN和日志DN互切。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,0~2147483647 0表示不处于集群模式切换过程中。 1表示处于集群模式切换过程中。 其他值无实际意义,效果等同于设置为0。 默认值:0 该参数用于控制“分布式备机读”功能是否正常可用。当设置为1时,“分布式备机读”功能将无法使用,请谨慎设置该参数。
  • enable_gpi_auto_update 参数说明:控制在分区DDL命令中是否默认更新Global索引。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。该参数必须在CN和DN设置为相同值,否则可能会导致Global索引功能异常。 取值范围:布尔型 on表示默认更新Global索引,此时分区DDL无论带不带UPDATE GLOBAL INDEX子句,都会更新Global索引。 off表示默认不更新Global索引,此时只有当分区DDL带UPDATE GLOBAL INDEX子句,才会更新Global索引。 默认值:off
  • enable_upgrade_merge_lock_mode 参数说明:当该参数设置为on时,通过提升deltamerge内部实现的锁级别,避免和update/delete并发操作时的报错。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on,提升deltamerge内部实现的锁级别,并发执行deltamerge和update/delete操作时,一个操作先执行,另一个操作被阻塞,在前一个操作完成后,后一个操作再执行。 off,在对表的delta table的同一行并发执行deltamerge和update/delete操作时,后一个对同一行数据更新的操作会报错退出。 默认值:off
  • server_version_num 参数说明:报告服务器版本号(整数形式)。 该参数属于INTERNAL类型参数,为固定参数,用户无法修改此参数,只能查看。该参数继承自PostgreSQL内核,表示当前数据库内核兼容PostgreSQL对应的server_version_num版本,无实际含义,为保持北向对外工具接口的生态兼容性(工具连接时查询),保留该参数。 取值范围:整型 默认值:90204
  • max_concurrent_autonomous_transactions 参数说明:自治事务最大连接数,同一时间自治事务执行的最大并发数。当设置为0时,将无法执行自治事务。 该参数属于POSTMASTER类型参数,请参考表表1中对应设置方法进行设置。 取值范围:0-10000,理论最大值为10000,实际最大值为动态值,计算公式为“262143 - job_queue_processes - autovacuum_max_workers - max_inner_tool_connections - max_connections - AUXILIARY_BACKENDS - AV_LAUNCHER_PRO CS ”,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内存) 设置建议:根据实际业务需要和硬件配置设置此参数,建议不超过max_connections的1/10。若仅调大此参数,未同比例调整内存参数,业务压力大时,容易出现内存不足,报错提示“memory is temporarily unavailable”。 若升级过程中涉及此参数范围变更,并且在commit前修改了此参数,则如果执行升级回滚,需要将此参数调整至升级前允许的范围,否则可能导致数据库无法启动。
  • transparent_encrypt_kms_url 参数说明:该参数已废弃。它存储的是透明加密的数据库密钥获取地址,内容要求不可出现RFC3986标准外的字符,最大长度2047字节。格式为“kms://协议@KMS主机名1;KMS主机名2:KMS端口号/kms”,例如kms://https@linux175:29800/。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串 默认值:空
  • server_version 参数说明:报告服务器版本号(字符串形式)。 该参数属于INTERNAL类型参数,为固定参数,用户无法修改此参数,只能查看。该参数继承自PostgreSQL内核,表示当前数据库内核兼容PostgreSQL对应的server_version版本,无实际含义,为保持北向对外工具接口的生态兼容性(工具连接时查询),保留该参数。该参数不建议使用,可通过函数opengauss_version()获取内核版本信息。 取值范围:字符串 默认值:9.2.4
共100000条