华为云用户手册

  • disable_memory_protect 参数说明:禁止内存保护功能。当系统内存不足时如果需要查询系统视图,可以先将此参数置为on,禁止内存保护功能,保证视图可以正常查询。该参数只适用于在系统内存不足时进行系统诊断和调试,正常运行时请保持该参数配置为off。 该参数属于USERSET类型参数,且只对当前会话有效。请参考表1中方式三的方法进行设置。 取值范围:布尔型 on表示禁止内存保护功能。 off表示启动内存保护功能。 默认值:off
  • enable_bbox_dump 参数说明:是否开启黑匣子功能,在系统不配置core机制的时候仍可产生core文件。此功能只对CN或DN有效,CMA、CMS、GTM、fenced UDF等仍需配置系统core机制才能捕获core文件。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示打开黑匣子功能。 off表示关闭黑匣子功能。 默认值:on 黑匣子功能生成core文件依赖操作系统开放ptrace接口;若发生权限不足(errno = 1),请确保/proc/sys/kernel/yama/ptrace_scope配置合理。
  • enable_acceleration_cluster_wlm 由于规格变更,当前版本已经不再支持本特性,请不要使用。 参数说明:是否开启加速集群的动态负载管理功能。该参数只针对计算资源池有效;在集群中设置该参数为on并不会启用相关逻辑。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示打开加速集群的动态负载管理功能。 off表示关闭加速集群的动态负载管理功能。 默认值:off
  • enable_dynamic_workload 参数说明:是否开启动态负载管理功能。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示打开动态负载管理功能。 off表示关闭动态负载管理功能。 开启内存自适应后,不再需要使用work_mem进行算子内存使用调优,由系统根据当前负载情况,为每个语句生成计划,并估算每个算子的内存使用量和整个语句的内存使用量。系统根据负载情况和整个语句内存使用量进行队列调度,所以多并发场景会出现语句排队的情况。 由于优化器行数估算不准现象的存在,会出现语句内存使用量低估或高估的情况。低估时,执行时内存会自动扩展。高估时,会导致系统内存利用不足,排队语句增多,可能导致性能非最优。此时需要识别语句估算内存远大于实际DN峰值内存的语句,通过设置query_mem进行调优,详见SQL调优关键参数调整。 列存分区表导入会消耗较多内存资源,为性能敏感场景,故不推荐启用动态负载管理。
  • enable_logical_io_statistics 参数说明:设置是否开启资源监控逻辑IO统计功能。开启时,对于PG_TOTAL_USER_RESOURCE_INFO视图中的read_kbytes、write_kbytes、read_counts、write_counts、read_speed和write_speed字段,会统计对应用户的逻辑读写字节数、次数以及速率;对于GS_WLM_USER_RESOURCE_HISTORY与GS_WLM_INSTANCE_HISTORY系统表中的逻辑读写相关字段,会统计相关用户、实例的逻辑读写对应值。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示开启资源监控逻辑IO统计功能。 off表示关闭资源监控逻辑IO统计功能。 默认值:on
  • enable_user_metric_persistent 参数说明:设置是否开启用户历史资源监控转存功能。开启时,对于PG_TOTAL_USER_RESOURCE_INFO视图中数据,会定期采样保存到GS_WLM_USER_RESOURCE_HISTORY系统表中。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 ● on表示开启用户历史资源监控转存功能。 ● off表示关闭用户历史资源监控转存功能。 默认值:on
  • parctl_min_cost 参数说明:设置语句受到资源池并发控制(当前特性是实验室特性,使用时请联系华为工程师提供技术支持)的最小执行代价。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,-1 ~ 2147483647‬ 值为-1时或者执行语句的代价小于10时,不受资源池并发控制。 值大于等于0时,当enable_dynamic_workload为off时,如果执行语句的代价大于或等于10并且超过这个参数值就会受到资源池并发控制。 默认值:100000
  • cgroup_name 参数说明:设置当前使用的Cgroups的名称或者调整当前group下排队的优先级。 即如果先设置cgroup_name,再设置session_respool,那么session_respool关联的控制组起作用,如果再切换cgroup_name,那么新切换的cgroup_name起作用。 切换cgroup_name的过程中如果指定到Workload控制组级别,数据库不对级别进行验证。级别的范围只要在1-10范围内都可以。 该参数属于USERSET类型参数,请参考表1中方式三的方法进行设置。 建议尽量不要混合使用cgroup_name和session_respool。 取值范围:字符串 默认值:DefaultClass:Medium DefaultClass:Medium表示DefaultClass下Timeshare控制组中的Medium控制组。
  • memory_detail_tracking 参数说明:设置需要的线程内分配内存上下文的顺序号以及当前线程所在query的plannodeid,仅用在DEBUG版本。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符型 默认值:Memory Context Sequent Count: -1, Plan Nodeid: -1(即空字符串,无sequent count和plan nodeid信息) 该参数不允许用户进行设置,建议保持默认值。
  • max_active_statements 参数说明:设置全局的最大并发数量。此参数只应用到CN,且针对一个CN上的执行作业。 数据库管理员需根据系统资源(如CPU资源、IO资源和内存资源)情况,调整此数值大小,使得系统支持最大限度的并发作业,且防止并发执行作业过多,引起系统崩溃。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,-1 ~ 2147483647‬。设置为-1和0表示对最大并发数不做限制。
  • enable_vacuum_control 参数说明:是否控制数据库常驻线程autoVacuumWorker到Vacuum控制组。此参数需在CN和DN同时应用。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示控制数据库常驻线程autoVacuumWorker到Vacuum控制组。 off表示不控制数据库常驻线程autoVacuumWorker到Vacuum控制组。 默认值:on
  • use_workload_manager 参数说明:是否开启资源管理功能。此参数需在CN和DN同时应用。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示打开资源管理。 off表示关闭资源管理。 当使用表1中的方式二来修改参数值时,新参数值只能对更改操作执行后启动的线程生效。此外,对于后台线程以及线程复用执行的新作业,该参数值的改动不会生效。如果希望这类线程即时识别参数变化,可以使用kill session或重启节点的方式来实现。 use_workload_manager参数由off变为on状态后,不会统计off时的存储资源。如果需要统计off时用户使用的存储资源,请在数据库中执行以下命令: 1 select gs_wlm_readjust_user_space(0); 默认值:on
  • enable_control_group 参数说明:是否开启Cgroups功能。此参数需在CN和DN同时应用。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示打开Cgroups管理。 off表示关闭Cgroups管理。 默认值:on 当使用表1中的方式二来修改参数值时,新参数值只能对更改操作执行后启动的线程生效。此外,对于后台线程以及线程复用执行的新作业,该值的改动不会生效。如果希望这类线程即时识别参数变化,可以使用kill session或重启节点的方式来实现。
  • memory_tracking_mode 参数说明:设置记录内存信息的模式。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围: none,不启动内存统计功能。 peak, 统计query级内存peak值;此数值记入数据库log,也可由explain analyze输出。 normal,仅做内存实时统计,不生成文件。 executor,生成统计文件,包含执行层使用过的所有已分配内存的上下文信息。 fullexec,生成文件包含执行层申请过的所有内存上下文信息。 默认值:none
  • omit_encoding_error 参数说明:设置为on,数据库的客户端字符集编码为UTF-8时,出现的字符编码转换错误将打印在日志中,有转换错误的被转换字符会被忽略,以"?"代替。 该参数属于USERSET类型参数,请参考表2中对应设置方法进行设置。 取值范围:布尔型 on表示有转换错误的字符将被忽略,以"?"代替,打印错误信息到日志中。 off表示有转换错误的字符不能被转换,打印错误信息到终端。 默认值:off 若该参数通过执行gs_guc reload修改时,如果当前节点上的某个session的连接不是来自于客户端,而是来自于该节点所属集群上的其他节点,那么执行gs_guc reload后该参数在该session上不会立即生效,需与连接节点断开连接后重新连接才会生效。
  • retry_ecode_list 参数说明:指定SQL语句出错自动重试功能支持的错误类型列表。 该参数属于USERSET类型参数,请参考表2中对应设置方法进行设置。 取值范围:字符串 默认值:YY001 YY002 YY003 YY004 YY005 YY006 YY007 YY008 YY009 YY010 YY011 YY012 YY013 YY014 YY015 53200 08006 08000 57P01 XX003 XX009 YY016
  • data_sync_retry 参数说明:控制当fsync到磁盘失败后是否继续运行数据库。由于在某些操作系统的场景下,fsync失败后重试阶段即使再次fsync失败也不会报错,从而导致数据丢失。 该参数属于POSTMASTER类型参数,请参考表2中对应设置方法进行设置。 取值范围:布尔型 on表示当fsync同步到磁盘失败后采取重试机制,数据库继续运行。 off表示当fsync同步到磁盘失败后直接报panic,停止数据库。 默认值:off
  • restart_after_crash 参数说明:设置为on,后端进程崩溃时,GaussDB将自动重新初始化此后端进程。 该参数属于SIGHUP类型参数,请参考表2中对应设置方法进行设置。 取值范围:布尔型 on表示能够最大限度地提高数据库的可用性。 在某些情况(比如当采用管理工具(例如xCAT)管理GaussDB时),能够最大限度地提高数据库的可用性。 off表示能够使得管理工具在后端进程崩溃时获取控制权并采取适当的措施进行处理。 默认值:on
  • remote_read_mode 参数说明:远程读功能开关。读取主机上的页面失败时可以从备机上读取对应的页面。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:枚举类型 off表示关闭远程读功能。 non_authentication表示开启远程读功能,但不进行证书认证。 authentication表示开启远程读功能,但要进行证书认证。 默认值:authentication
  • backslash_quote 参数说明:控制字符串文本中的单引号是否能够用\'表示。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 在字符串文本符合SQL标准的情况下,\没有任何其他含义。这个参数影响的是如何处理不符合标准的字符串文本,包括明确的字符串转义语法是(E'...')。 取值范围:枚举类型 on表示一直允许使用\'表示。 off表示拒绝使用\'表示。 safe_encoding表示仅在客户端字符集编码不会在多字节字符末尾包含\的ASCII值时允许。 默认值:safe_encoding
  • quote_all_identifiers 参数说明:当数据库生成SQL时,此选项强制引用所有的标识符(包括非关键字)。这将影响到EXPLAIN的输出及函数的结果,例如pg_get_viewdef。详细说明请参见gs_dump的--quote-all-identifiers选项。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示打开强制引用。 off表示关闭强制引用。 默认值:off
  • synchronize_seqscans 参数说明:控制启动同步的顺序扫描。在大约相同的时间内并行扫描读取相同的数据块,共享I/O负载。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示扫描可能从表的中间开始,然后选择"环绕"方式来覆盖所有的行,为了与已经在进行中的扫描活动同步。这可能会造成没有用ORDER BY子句的查询得到行排序造成不可预测的后果。 off表示确保顺序扫描是从表头开始的。 默认值:on
  • default_with_oids 参数说明:在没有声明WITH OIDS和WITHOUT OIDS的情况下,这个选项控制在新创建的表中CREATE TABLE和CREATE TABLE AS是否包含一个OID字段。它还决定SELECT INTO创建的表里面是否包含OID 。 不推荐在用户表中使用OID,故默认设置为off。需要带有OID字段的表应该在创建时声明WITH OIDS 。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示在新创建的表中CREATE TABLE和CREATE TABLE AS可以包含一个OID字段。 off表示在新创建的表中CREATE TABLE和CREATE TABLE AS不可以包含一个OID字段。 默认值:off
  • escape_string_warning 参数说明:警告在普通字符串中直接使用反斜杠转义。 如果需要使用反斜杠作为转义,可以调整为使用转义字符串语法(E'...')来做转义,因为在每个SQL标准中,普通字符串的默认行为现在将反斜杠作为一个普通字符。 这个变量可以帮助定位需要改变的代码。 使用E转义会导致部分场景下日志记录不全。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 默认值:on
  • standard_conforming_strings 参数说明:控制普通字符串文本('...')中是否按照SQL标准把反斜扛当普通文本。 应用程序通过检查这个参数可以判断字符串文本的处理方式。 建议明确使用转义字符串语法(E'...')来转义字符。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示打开控制功能。 off表示关闭控制功能。 默认值:on
  • enable_beta_features 参数说明:控制开启某些非正式发布的特性,仅用于POC验证,例如GDS表关联操作。这些特性属于延伸特性,建议客户谨慎开启,在某些功能场景下可能存在问题。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示开启这些功能受限的特性,保持前向兼容。但某些场景可能存在功能上的问题。 off表示禁止使用这些特性。 默认值:off
  • deadlock_timeout 参数说明:设置死锁超时检测时间,以毫秒为单位。当申请的锁超过设定值时,系统会检查是否产生了死锁。该参数仅针对常规锁生效。 死锁的检查代价是比较高的,服务器不会在每次等待锁的时候都运行这个过程。在系统运行过程中死锁是不经常出现的,因此在检查死锁前只需等待一个相对较短的时间。增加这个值就减少了无用的死锁检查浪费的时间,但是会减慢真正的死锁错误报告的速度。在一个负载过重的服务器上,用户可能需要增大它。这个值的设置应该超过事务持续时间,这样就可以减少在锁释放之前就开始死锁检查的问题。 如果要通过设置log_lock_waits来将查询执行过程中的锁等待耗时信息写入日志,请确保log_lock_waits的设置值小于deadlock_timeout的设置值(或默认值)。 该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,1~2147483647,单位为毫秒(ms)。 默认值:1s
  • partition_lock_upgrade_timeout 参数说明:在执行某些查询语句的过程中,会需要将分区表上的锁级别由允许读的ExclusiveLock级别升级到读写阻塞的AccessExclusiveLock级别。如果此时已经存在并发的读事务,那么该锁升级操作将阻塞等待。partition_lock_upgrade_timeout为尝试锁升级的等待超时时间。 在分区表上进行MERGE PARTITION和CLUSTER PARTITION操作时,都利用了临时表进行数据重排和文件交换,为了最大程度提高分区上的操作并发度,在数据重排阶段给相关分区加锁ExclusiveLock,在文件交换阶段加锁AccessExclusiveLock。 常规加锁方式是等待加锁,直到加锁成功,或者等待时间超过lockwait_timeout发生超时失败。 在分区表上进行MERGE PARTITION或CLUSTER PARTITION操作时,进入文件交换阶段需要申请加锁AccessExclusiveLock,加锁方式是尝试性加锁,加锁成功了则立即返回,不成功则等待50ms后继续下次尝试,加锁超时时间使用会话级设置参数partition_lock_upgrade_timeout。 特殊值:若partition_lock_upgrade_timeout取值-1,表示无限等待,即不停的尝试锁升级,直到加锁成功。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,最小值-1,最大值3000,单位为秒(s)。 默认值:1800
  • max_pred_locks_per_transaction 参数说明:控制每个事务允许断定锁的最大数量,是一个平均值。 共享的断定锁表的大小是以假设任意时刻最多只有max_pred_locks_per_transaction*(max_connections+max_prepared_transactions) 个独立的对象需要被锁住为基础进行计算的。不超过设定数量的多个对象可以在任一时刻同时被锁定。当在一个事务里面修改很多不同的表时,可能需要提高这个默认数值。只能在服务器启动的时候设置。 增大这个参数可能导致GaussDB请求更多的System V共享内存,有可能超过操作系统的缺省配置。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,10 ~ 2147483647‬ 默认值:64
  • num_internal_lock_partitions 参数说明:控制内部轻量级锁分区的个数。主要用于各类场景的性能调优。内容以关键字和数字的KV方式组织,各个不同类型锁之间以逗号隔开。先后顺序对设置结果不影响,例如“CLOG_PART=256,CSNLOG_PART=512”等同于“CSNLOG_PART=512,CLOG_PART=256”。重复设置同一关键字时,以最后一次设置为准,例如“CLOG_PART=256,CLOG_PART=2”,设置的结果为CLOG_PART=2。当没有设置关键字时,则为默认值,各类锁的使用描述和最大、最小、默认值如下。 CLOG_PART:CLOG文件控制器的个数,增大该值可以提高CLOG日志写入效率,提升事务提交性能,但是会增大内存使用;减小该值会减少相应内存使用,但可能使得CLOG日志写入冲突变大,影响性能。最小值为1,最大值为256。 CSNLOG_PART:CSNLOG文件控制器的个数,增大该值可以提高CSNLOG日志写入效率,提升事务提交性能,但是会增大内存使用;减小该值会减少相应内存使用,但可能使得CSNLOG日志写入冲突变大,影响性能。最小值为1,最大值为512。 LOG2_LOCKTABLE_PART:常规锁表锁分区个数的2对数,增大该值可以提升正常流程常规锁获取锁的并行度,但是可能增加锁转移和锁消除时的耗时,对于等待事件在LockMgrLock时,可以调大该锁增加性能。最小值4,即锁分区数为16;最大值为16,即锁分区数为65536。 TWOPHASE_PART:两阶段事务锁的分区数,调大该值可以提高两阶段事务提交的并发数。最小值为1,最大值为64。 FASTPATH_PART:每个线程可以不通过主锁表拿锁的最大锁个数,调大该值会额外增加内存。最小值为20,最大值为10000。 该参数属于POSTMASTER类型参数,参考表1中对应设置方法进行设置。 取值范围:字符串 默认值: CLOG_PART:256 CSNLOG_PART:512 LOG2_LOCKTABLE_PART:4 TWOPHASE_PART:1 FASTPATH_PART:20
共100000条