修改数据库参数
集群创建成功后,用户可以根据实际需要修改集群的数据库参数。在GaussDB(DWS) 管理控制台,您可以查看或设置一些常用的数据库参数,详情请参见管理参数模板。如需查看或设置其他数据库参数,您可以通过SQL命令的方式,详情请参见《数据仓库服务数据库开发指南》中的 章节。
前提条件
只有当集群无运行中的任务时,才能修改参数。
操作步骤
- 登录GaussDB(DWS) 管理控制台。
- 在左侧导航栏中,单击“集群管理”。
- 在集群列表中找到所需要的集群,单击集群名称,进入集群“基本信息”页面。
- 单击“参数修改”页签,修改相应的参数值,然后单击“保存”。
- 在“修改预览”窗口,确认修改无误后,单击“保存”。
参数说明
由于数据库参数较多,下表仅显示部分参数说明,用户可在控制台集群参数修改页面搜索查看,操作详情请参见操作步骤。
- 以下参数默认值仅为参考值,具体与当前集群版本有关。详情请参见《数据仓库服务开发指南》的“GUC参数”章节。
- 用户修改相应的参数值后会提示需进行重启集群操作后才能生效,任务下发成功后页面仍显示修改前的参数值,待集群重启成功后则会显示修改后的参数值。
参数名称 |
参数描述 |
默认值 |
---|---|---|
session_timeout |
Session闲置超时时间,单位为秒,0表示关闭超时限制。取值范围:0 ~ 86400。 |
600 |
datestyle |
设置日期和时间值的显示格式。 |
ISO,MDY |
failed_login_attempts |
输入密码错误的次数达到该参数所设置的值时,帐户将会被自动锁定。配置为0时表示不限制密码输入错误的次数。取值范围:0 ~ 1000。 |
10 |
timezone |
设置显示和解释时间类型数值时使用的时区。 |
UTC |
log_timezone |
设置服务器写日志文件时使用的时区。 |
UTC |
enable_resource_record |
设置是否开启资源记录功能。 当SQL语句实际执行时间大于resource_track_duration参数值(默认为60s,可自行设置)时,监控信息将会归档。 此功能开启后会引起存储空间膨胀及轻微性能影响,不用时请关闭。
说明:
|
off |
query_dop |
用户自定义的查询并行度。
|
0 |
resource_track_cost |
设置对语句进行资源监控的最小执行代价。值为-1或者执行语句代价小于10时,不进行资源监控。值大于等于0时,执行语句的代价大于等于10并且超过这个参数的设定值就会进行资源监控。 SQL语句的预估执行代价可通过执行SQL命令Explain进行查询。 |
100000 |
resource_track_duration |
设置当前会话资源监控实时视图中记录的语句执行结束后进行归档的最小执行时间,单位为秒。
|
60 |
password_effect_time |
设置帐户密码的有效时间,临近或超过有效期系统会提示用户修改密码。 取值范围为0 ~999,单位为天。设置为0表示不开启有效期限制功能。 |
90 |
update_lockwait_timeout |
该参数控制并发更新同一行时单个锁的最长等待时间。当申请的锁等待时间超过设定值时,系统会报错。0表示不等待,有锁时直接报错,单位为毫秒。 |
120000 |
enable_resource_track |
设置是否开启资源监控功能。开启后可以对SQL语句进行监控。 |
on |
password_policy |
使用CREATE ROLE/USER命令创建或ALTER ROLE/USER命令修改GaussDB(DWS)帐户时,该参数决定是否进行密码复杂度检查。
|
1 |
password_reuse_time |
在使用ALTER USER或ALTER ROLE修改用户密码时,该参数指定是否对新密码进行可重用天数检查。取值范围:0~3650,单位为天。
说明:
修改密码时会检查配置参数password_reuse_time和password_reuse_max。
|
60 |
password_reuse_max |
在使用ALTER USER或ALTER ROLE修改用户密码时,该参数指定是否对新密码进行可重用次数检查。
说明:
修改密码时会检查配置参数password_reuse_time和password_reuse_max。
|
0 |
password_lock_time |
该参数指定帐户被锁定后自动解锁的时间。
|
1 |
password_encryption_type |
该字段决定采用何种加密方式对用户密码进行加密存储。
|
2 |
password_notify_time |
该字段决定帐户密码到期前提醒的天数。
|
7 |
enable_stateless_pooler_reuse |
pooler复用切换开关,重启集群生效。
说明:
CN和DN需要同步设置。如果CN设置为off,DN设置为on时会导致集群不能正常通信,因此必须对该参数做CN和DN全局相同的配置,重启集群才会生效。 |
off |
work_mem |
设置内部排序操作和Hash表在开始写入临时磁盘文件之前使用的内存大小,单位为KB。 ORDER BY,DISTINCT和merge joins都要用到排序操作。 Hash表在散列连接、散列为基础的聚集、散列为基础的IN子查询处理中都要用到。 对于复杂的查询,可能会同时并发运行好几个排序或者散列操作,每个都可以使用此参数所声明的内存量,不足时会使用临时文件。同样,好几个正在运行的会话可能会同时进行排序操作。因此使用的总内存可能是work_mem的好几倍。 |
64MB |
maintenance_work_mem |
设置在维护性操作(比如VACUUM、CREATE INDEX、ALTER TABLE ADD FOREIGN KEY等中可使用的最大的内存,单位为KB。
说明:
该参数的设置会影响VACUUM、VACUUMFULL、CLUSTER、CREATE INDEX的执行效率。 |
128MB |
enable_orc_cache |
设置是否允许在初始化cstore_buffers时,将1/4的cstore_buffers空间预留,用于缓存orc元数据。
|
on |
sql_use_spacelimit |
限制单个SQL在单个DN上,触发落盘操作时,落盘文件的空间大小,管控的空间包括普通表、临时表及中间结果集落盘占用的空间,单位为KB。其中-1表示没有限制。 |
-1 |
enable_bitmapscan |
控制优化器对位图扫描规划类型的使用。
|
on |
enable_hashagg |
控制优化器对Hash聚集规划类型的使用。
|
on |
enable_hashjoin |
控制优化器对Hash连接规划类型的使用。
|
on |
enable_indexscan |
控制优化器对索引扫描规划类型的使用。
|
on |
enable_indexonlyscan |
控制优化器对仅索引扫描规划类型的使用。
|
on |
enable_mergejoin |
控制优化器对融合连接规划类型的使用。
|
off |
enable_nestloop |
控制优化器对内表全表扫描嵌套循环连接规划类型的使用。虽然不能完全消除嵌套循环连接,但关闭该参数会使优化器在存在其他方法的时候优先选择其他方法。
|
off |
enable_seqscan |
控制优化器对顺序扫描规划类型的使用。虽然不能完全消除顺序扫描,但关闭该参数会让优化器在存在其他方法的时候优先选择其他方法。
|
on |
enable_tidscan |
控制优化器对TID扫描规划类型的使用。
|
on |
enable_kill_query |
CASCADE模式删除用户时,会删除此用户拥有的所有对象。此参数标识是否允许在删除用户的时候,取消锁定此用户所属对象的query。
|
off |
enable_vector_engine |
控制优化器对向量化执行引擎的使用。
|
on |
enable_broadcast |
控制优化器对stream代价估算时对broadcast分布方式的使用。
|
on |
skew_option |
控制是否使用优化策略。
|
normal |
default_statistics_target |
为没有用ALTER TABLE SET STATISTICS设置字段目标的表设置缺省统计目标。此参数设置为正数是代表统计信息的样本数量,为负数时,代表使用百分比的形式设置统计目标,负数转换为对应的百分比,即-5代表5%。 |
100 |
enable_codegen |
标识是否允许开启代码生成优化,目前代码生成使用的是LLVM优化。
|
on |
autoanalyze |
标识是否允许在生成计划的时候,对于没有统计信息的表进行统计信息自动收集。
说明:
|
off |
enable_sonic_hashagg |
标识是否依据规则约束使用基于面向列的hash表设计的Hash Agg算子。
|
on |
log_hostname |
默认状态下,连接消息日志只显示正在连接主机的IP地址。打开此选项同时可以记录主机名。由于解析主机名可能需要一定的时间,可能影响数据库的性能。
|
off |
max_active_statements |
设置全局的最大并发数量。此参数只应用到CN,且针对一个CN上的执行作业。设置为-1和0表示对最大并发数不做限制。 |
60 |
enable_resource_track |
是否开启资源监控功能。 |
on |
resource_track_level |
设置当前会话的资源监控的等级。该参数只有当参数enable_resource_track为on时才有效。
|
query |
enable_dynamic_workload |
是否开启动态负载管理功能。
|
on |
topsql_retention_time |
设置历史TopSQL中gs_wlm_session_info和gs_wlm_operator_info表中数据的保存时间。单位为天。
|
0 |
track_counts |
控制收集数据库活动的统计数据。
|
off |
autovacuum |
控制数据库自动清理进程(autovacuum)的启动。自动清理进程运行的前提是将track_counts设置为on。
|
off |
autovacuum_mode |
该参数仅在autovacuum设置为on的场景下生效,它控制autoanalyze或autovacuum的打开情况。
|
mix |
autoanalyze_timeout |
设置autoanalyze的超时时间。在对某张表做autoanalyze时,如果该表的analyze时长超过了autoanalyze_timeout,则自动取消该表此次analyze,单位为秒。 |
5min |
autovacuum_io_limits |
控制autovacuum进程每秒触发IO的上限。其中-1表示不控制,而是使用系统默认控制组。 |
-1 |
autovacuum_max_workers |
设置能同时运行的自动清理线程的最大数量。其中0表示不会自动进行autovacuum。 |
3 |
autovacuum_naptime |
设置两次自动清理操作的时间间隔,单位为秒。 |
10min |
autovacuum_vacuum_threshold |
设置触发VACUUM的阈值。当表上被删除或更新的记录数超过设定的阈值时才会对这个表执行VACUUM操作。 |
50 |
autovacuum_analyze_threshold |
设置触发ANALYZE操作的阈值。当表上被删除、插入或更新的记录数超过设定的阈值时才会对这个表执行ANALYZE操作。 |
50 |
autovacuum_analyze_scale_factor |
设置触发一个ANALYZE时增加到autovacuum_analyze_threshold的表大小的缩放系数。 |
0.1 |
statement_timeout |
当语句执行时间超过该参数设置的时间(从服务器收到命令时开始计时)时,该语句将会报错并退出执行,单位为毫秒。 |
0 |
deadlock_timeout |
设置死锁超时检测时间。当申请的锁超过设定值时,系统会检查是否产生了死锁,单位为毫秒。 |
1s |
lockwait_timeout |
控制单个锁的最长等待时间。当申请的锁等待时间超过设定值时,系统会报错,单位为毫秒。 |
20min |
max_query_retry_times |
指定SQL语句出错自动重试功能的最大重跑次数(目前支持重跑的错误类型为“Connection reset by peer”、“Lock wait timeout”和“Connection timed out”等,设定为0时关闭重跑功能。 |
6 |
max_pool_size |
CN的连接池与其它某个CN/DN的最大连接数。 |
800 |
enable_gtm_free |
大并发场景下同一时刻存在活跃事务较多,GTM下发的快照变大且快照请求变多的情况下,瓶颈卡在GTM与CN通讯的网络上。为消除该瓶颈,引入GTM-FREE模式。取消CN和GTM的交互,取消CN下发GTM获取的事务信息给DN。CN只向各个DN发送query,各个DN由本地产生快照及xid等信息,开启该参数支持分布式事务读最终一致性,即分布式事务只有写外部一致性,不具有读外部一致性。 |
off |
enable_fast_query_shipping |
控制查询优化器是否使用分布式框架。 |
on |
enable_crc_check |
设置是否允许开启数据校验功能。写入表数据时生成校验信息,读取表数据时检查校验信息。不建议用户修改设置。 |
on |
explain_perf_mode |
此参数用来指定explain的显示格式。
|
pretty |
udf_memory_limit |
控制每个CN、DN执行UDF时可用的最大物理内存量,单位为KB。 |
200MB |
default_transaction_read_only |
设置每个新创建事务是否是只读状态。
|
off |