修改数据库参数 参数名称 参数描述 默认值 sessiontimeout Session闲置超时时间,单位为秒,0表示关闭超时限制。取值范围:0 ~ 86400。 600 datestyle 设置日期和时间值的显示格式。 ISO,MDY failedloginattempts 输入密码错误的次数达到该参数所设置的值时,帐户将会被自动锁定。配置为0时表示不限制密码输入错误的次数。取值范围:0 ~ 1000。 10 timezone 设置显示和解释时间类型数值时使用的时区。 UTC logtimezone 设置服务器写日志文件时使用的时区。 UTC enableresourcerecord 设置是否开启资源记录功能。 当SQL语句实际执行时间大于resourcetrackduration参数值(默认为60s,可自行设置)时,监控信息将会归档。 此功能开启后会引起存储空间膨胀及轻微性能影响,不用时请关闭。 说明 归档:监控信息保存在history视图,归档在info表。归档时间为三分钟,归档后history视图中的记录会被清除。 history视图GSWLMSESSIONHISTORY,对应存入info表GSWLMSESSIONINFO。 history视图GSWLMOPERATORHISTORY,对应存入info表GSWLMOPERATORINFO。 off querydop 用户自定义的查询并行度。 配置为0表示查询并行度自适应。 配置为1表示查询不并行。 配置为2表示查询并行度为2。 0 resourcetrackcost 设置对语句进行资源监控的最小执行代价。 值为1或者执行语句代价小于10时,不进行资源监控。值大于等于0时,执行语句的代价大于等于10并且超过这个参数的设定值就会进行资源监控。 SQL语句的预估执行代价可通过执行SQL命令Explain进行查询。 100000 resourcetrackduration 设置当前会话资源监控实时视图中记录的语句执行结束后进行归档的最小执行时间,单位为秒。 值为0时,资源监控实时视图中记录的所有语句都会进行历史信息归档。 值大于0时,资源监控实时视图中记录的语句的执行时间超过设定值就会进行历史信息归档。 60 passwordeffecttime 设置帐户密码的有效时间,临近或超过有效期系统会提示用户修改密码。 取值范围为0 ~999,单位为天。设置为0表示不开启有效期限制功能。 90 updatelockwaittimeout 该参数控制并发更新同一行时单个锁的最长等待时间。当申请的锁等待时间超过设定值时,系统会报错。0表示不等待,有锁时直接报错,单位为毫秒。 120000 enableresourcetrack 设置是否开启资源监控功能。开启后可以对SQL语句进行监控。 on passwordpolicy 使用CREATE ROLE/USER命令创建或ALTER ROLE/USER命令修改DWS帐户时,该参数决定是否进行密码复杂度检查。 0表示不采用任何密码复杂度策略。 1表示采用默认密码复杂度校验策略。 1 passwordreusetime 在使用ALTER USER或ALTER ROLE修改用户密码时,该参数指定是否对新密码进行可重用天数检查。 取值范围:0~3650,单位为天。0表示不检查密码可重用天数。正数表示新密码不能为该值指定的天数内使用过的密码。 说明 修改密码时会检查配置参数passwordreusetime和passwordreusemax。 passwordreusetime和passwordreusemax只要满足其中任一个为正数时,即认为密码可重用。 passwordreusetime为0时,表示不限制密码重用天数,仅限制密码重用次数。 passwordreusetime和passwordreusemax都为0时,表示不对密码重用进行限制。 60 passwordreusemax 在使用ALTER USER或ALTER ROLE修改用户密码时,该参数指定是否对新密码进行可重用次数检查。 0表示不检查密码可重用次数。正整数表示新密码不能为该值指定的次数内使用过的密码。 说明 修改密码时会检查配置参数passwordreusetime和passwordreusemax。 passwordreusetime和passwordreusemax只要满足其中任一个为正数时,即认为密码可重用。 passwordreusemax为0时,表示不限制密码重用次数,仅限制密码重用天数。 passwordreusetime和passwordreusemax都为0时,表示不对密码重用进行限制。 0 passwordlocktime 该参数指定帐户被锁定后自动解锁的时间。 0表示密码验证失败时,自动锁定功能不生效。 正数表示帐户被锁定后,当锁定时间超过该参数设定的值时,帐户将会被自行解锁。 1 passwordencryptiontype 该字段决定采用何种加密方式对用户密码进行加密存储。 0表示采用md5方式对密码加密。 1表示采用sha256方式对密码加密,兼容postgres客户端的md5用户认证方式。 2表示采用sha256方式对密码加密。md5为不安全的加密算法,不建议用户使用。 2 passwordnotifytime 该字段决定帐户密码到期前提醒的天数。 0表示不开启提醒功能。 1~999表示帐户密码到期前提醒的天数。 7 enablestatelesspoolerreuse pooler复用切换开关,重启集群生效。 on表示使用pooler复用模式。 off表示关闭pooler复用模式。 说明 CN和DN需要同步设置。如果CN设置为off,DN设置为on时会导致集群不能正常通信,因此必须对该参数做CN和DN全局相同的配置,重启集群才会生效。 off workmem 设置内部排序操作和Hash表在开始写入临时磁盘文件之前使用的内存大小,单位为KB。 ORDER BY,DISTINCT和merge joins都要用到排序操作。 Hash表在散列连接、散列为基础的聚集、散列为基础的IN子查询处理中都要用到。 对于复杂的查询,可能会同时并发运行好几个排序或者散列操作,每个都可以使用此参数所声明的内存量,不足时会使用临时文件。同样,好几个正在运行的会话可能会同时进行排序操作。因此使用的总内存可能是workmem的好几倍。 64MB maintenanceworkmem 设置在维护性操作(比如VACUUM、CREATE INDEX、ALTER TABLE ADD FOREIGN KEY等中可使用的最大的内存,单位为KB。 说明 该参数的设置会影响VACUUM、VACUUMFULL、CLUSTER、CREATE INDEX的执行效率。 128MB enableorccache 设置是否允许在初始化cstorebuffers时,将1/4的cstorebuffers空间预留,用于缓存orc元数据。 on表示开启缓存orc元数据,可提升hdfs表的查询性能,但是会占用列存buffer资源,导致列存性能下降。 off表示关闭缓存orc元数据。 on sqlusespacelimit 限制单个SQL在单个DN上,触发落盘操作时,落盘文件的空间大小,管控的空间包括普通表、临时表及中间结果集落盘占用的空间,单位为KB。其中1表示没有限制。 1 enablebitmapscan 控制优化器对位图扫描规划类型的使用。 on表示使用。 off表示不使用。 on enablehashagg 控制优化器对Hash聚集规划类型的使用。 on表示使用。 off表示不使用。 on enablehashjoin 控制优化器对Hash连接规划类型的使用。 on表示使用。 off表示不使用。 on enableindexscan 控制优化器对索引扫描规划类型的使用。 on表示使用。 off表示不使用。 on enableindexonlyscan 控制优化器对仅索引扫描规划类型的使用。 on表示使用。 off表示不使用。 on enablemergejoin 控制优化器对融合连接规划类型的使用。 on表示使用。 off表示不使用。 off enablenestloop 控制优化器对内表全表扫描嵌套循环连接规划类型的使用。虽然不能完全消除嵌套循环连接,但关闭该参数会使优化器在存在其他方法的时候优先选择其他方法。 on表示使用。 off表示不使用。 off enableseqscan 控制优化器对顺序扫描规划类型的使用。虽然不能完全消除顺序扫描,但关闭该参数会让优化器在存在其他方法的时候优先选择其他方法。 on表示使用。 off表示不使用。 on enabletidscan 控制优化器对TID扫描规划类型的使用。 on表示使用。 off表示不使用。 on enablekillquery CASCADE模式删除用户时,会删除此用户拥有的所有对象。此参数标识是否允许在删除用户的时候,取消锁定此用户所属对象的query。 on表示允许取消锁定。 off表示不允许取消锁定。 off enablevectorengine 控制优化器对向量化执行引擎的使用。 on表示使用。 off表示不使用。 on enablebroadcast 控制优化器对stream代价估算时对broadcast分布方式的使用。 on表示使用。 off表示不使用。 on skewoption 控制是否使用优化策略。 off:关闭策略。 normal:采用激进策略。对于不确定是否出现倾斜的场景,认为存在倾斜,并进行相应优化。 lazy:采用保守策略。对于不确定是否出现倾斜场景,认为不存在倾斜,不进行优化。 normal defaultstatisticstarget 为没有用ALTER TABLE SET STATISTICS设置字段目标的表设置缺省统计目标。此参数设置为正数是代表统计信息的样本数量,为负数时,代表使用百分比的形式设置统计目标,负数转换为对应的百分比,即5代表5%。 100 enablecodegen 标识是否允许开启代码生成优化,目前代码生成使用的是LLVM优化。 on表示允许开启代码生成优化。 off表示不允许开启代码生成优化。 on autoanalyze 标识是否允许在生成计划的时候,对于没有统计信息的表进行统计信息自动收集。 on表示允许自动进行统计信息收集。 off表示不允许自动进行统计信息收集。 说明 当前不支持对外表触发autoanalyze,如需收集,需用户手动执行analyze操作。 不支持对带有ON COMMIT [DELETE ROWS l DROP]选项的临时表触发autoanalyze,如需收集,需用户手动执行analyze操作。 如果在autoanalyze某个表的过程中数据库发生异常,当数据库正常运行之后再执行语句有可能仍提示需要收集此表的统计信息。此时需要用户对该表手动执行一次analyze操作,以同步统计信息数据。 off enablesonichashagg 标识是否依据规则约束使用基于面向列的hash表设计的Hash Agg算子。 on表示在满足约束条件时使用基于面向列的hash表设计的Hash Agg算子。 off表示不使用面向列的hash表设计的Hash Agg算子。 on loghostname 默认状态下,连接消息日志只显示正在连接主机的IP地址。打开此选项同时可以记录主机名。由于解析主机名可能需要一定的时间,可能影响数据库的性能。on表示可以同时记录主机名。off表示不可以同时记录主机名。 off maxactivestatements 设置全局的最大并发数量。此参数只应用到CN,且针对一个CN上的执行作业。设置为1和0表示对最大并发数不做限制。 60 enableresourcetrack 是否开启资源监控功能。 on resourcetracklevel 设置当前会话的资源监控的等级。该参数只有当参数enableresourcetrack为on时才有效。 none,不开启资源监控功能。 query,开启query级别资源监控功能,开启此功能会把SQL语句的计划信息(类似explain输出信息)记录到top SQL中。 perf,开启perf级别资源监控功能,开启此功能会把包含实际执行时间和执行行数的计划信息(类似explain analyze输出信息)记录到top SQL中。 operator,开启operator级别资源监控功能,开启此功能不仅会把包含实际执行时间和执行行数的信息记录到top SQL中,还会把算子级别执行信息刷新到top SQL中。 query enabledynamicworkload 是否开启动态负载管理功能。 on表示打开动态负载管理功能。 off表示关闭动态负载管理功能。 on topsqlretentiontime 设置历史TopSQL中gswlmsessioninfo和gswlmoperatorinfo表中数据的保存时间。单位为天。 值为0时,表示数据永久保存。 值大于0时,表示数据能够保存的对应天数。 0 trackcounts 控制收集数据库活动的统计数据。 on表示开启收集功能。 off表示关闭收集功能。 off autovacuum 控制数据库自动清理进程(autovacuum)的启动。自动清理进程运行的前提是将trackcounts设置为on。 on表示开启数据库自动清理进程。 off表示关闭数据库自动清理进程。 off autovacuummode 该参数仅在autovacuum设置为on的场景下生效,它控制autoanalyze或autovacuum的打开情况。 analyze表示只做autoanalyze。 vacuum表示只做autovacuum。 mix表示autoanalyze和autovacuum都做。 none表示二者都不做。 mix autoanalyzetimeout 设置autoanalyze的超时时间。在对某张表做autoanalyze时,如果该表的analyze时长超过了autoanalyzetimeout,则自动取消该表此次analyze,单位为秒。 5min autovacuumiolimits 控制autovacuum进程每秒触发IO的上限。其中1表示不控制,而是使用系统默认控制组。 1 autovacuummaxworkers 设置能同时运行的自动清理线程的最大数量。其中0表示不会自动进行autovacuum。 3 autovacuumnaptime 设置两次自动清理操作的时间间隔,单位为秒。 10min autovacuumvacuumthreshold 设置触发VACUUM的阈值。当表上被删除或更新的记录数超过设定的阈值时才会对这个表执行VACUUM操作。 50 autovacuumanalyzethreshold 设置触发ANALYZE操作的阈值。当表上被删除、插入或更新的记录数超过设定的阈值时才会对这个表执行ANALYZE操作。 50 autovacuumanalyzescalefactor 设置触发一个ANALYZE时增加到autovacuumanalyzethreshold的表大小的缩放系数。 0.1 statementtimeout 当语句执行时间超过该参数设置的时间(从服务器收到命令时开始计时)时,该语句将会报错并退出执行,单位为毫秒。 0 deadlocktimeout 设置死锁超时检测时间。当申请的锁超过设定值时,系统会检查是否产生了死锁,单位为毫秒。 1s lockwaittimeout 控制单个锁的最长等待时间。当申请的锁等待时间超过设定值时,系统会报错,单位为毫秒。 20min maxqueryretrytimes 指定SQL语句出错自动重试功能的最大重跑次数(目前支持重跑的错误类型为“Connection reset by peer”、“Lock wait timeout”和“Connection timed out”等,设定为0时关闭重跑功能。 6 maxpoolsize CN的连接池与其它某个CN/DN的最大连接数。 800 enablegtmfree 大并发场景下同一时刻存在活跃事务较多,GTM下发的快照变大且快照请求变多的情况下,瓶颈卡在GTM与CN通讯的网络上。为消除该瓶颈,引入GTMFREE模式。取消CN和GTM的交互,取消CN下发GTM获取的事务信息给DN。CN只向各个DN发送query,各个DN由本地产生快照及xid等信息,开启该参数支持分布式事务读最终一致性,即分布式事务只有写外部一致性,不具有读外部一致性。 off enablefastqueryshipping 控制查询优化器是否使用分布式框架。 on enablecrccheck 设置是否允许开启数据校验功能。写入表数据时生成校验信息,读取表数据时检查校验信息。不建议用户修改设置。 on explainperfmode 此参数用来指定explain的显示格式。 normal:代表使用默认的打印格式。 pretty:代表使用DWS改进后的新显示格式。新的格式层次清晰,计划包含了plan node id,性能分析简单直接。 summary:是在pretty的基础上增加了对打印信息的分析。 run:在summary的基础上,将统计的信息输出到csv格式的文件中,以便于进一步分析。 pretty udfmemorylimit 控制每个CN、DN执行UDF时可用的最大物理内存量,单位为KB。 200MB defaulttransactionreadonly 设置每个新创建事务是否是只读状态。on表示只读状态。off表示非只读状态。 off