实时数仓GUC参数
autovacuum
参数说明:控制是否启动数据库自动清理进程(autovacuum)。
参数类型:SIGHUP
取值范围:布尔型
- on表示开启数据库自动清理进程。
- off表示关闭数据库自动清理进程。
默认值:on
autovacuum_compaction_rows_limit
参数说明:小CU的阈值,存活元组数小于这个值的就会被认为是小CU。该参数仅8.2.1.300及以上集群版本支持。
参数类型:USERSET
取值范围:整型,-1~5000
默认值:-1,表示关闭0CU开关。
当前版本禁止设置该参数,否则可能会导致主键数据重复。
autovacuum_compaction_time_limit
参数说明:小CU清理的时间间隔,每间隔一段时间就会执行一次小CU合并。该参数仅8.2.1.300及以上集群版本支持。
参数类型:SIGHUP
取值范围:整型,0~10080,单位为分钟。
默认值:0
autovacuum_max_workers
参数说明:设置能同时运行的自动清理线程的最大数量,该参数的取值上限与max_connections和job_queue_processes大小有关。
参数类型:SIGHUP
取值范围:整型
- 最小值为0,表示不会自动进行autovacuum。
- 理论最大值为262143,实际最大值为动态值。计算公式为“262143 - max_inner_tool_connections - max_connections - job_queue_processes - 辅助线程数 – autovacuum的launcher线程数 - 1”,其中辅助线程数和autovacuum的launcher线程数由两个宏来指定,当前版本的默认值分别为20和2。
默认值:4
使用hstore表时,需确保同步修改以下参数的默认值,否则会导致hstore表性能严重劣化。
建议修改:autovacuum_max_workers_hstore=3,autovacuum_max_workers=6,autovacuum=true。
autovacuum_max_workers_hstore
参数说明:设置Autovacuum_max_workers里面,能同时运行的专用于清理hstore的自动清理线程的最大数量。
参数类型:SIGHUP
取值范围:整型
默认值:1
使用hstore表时,需确保同步修改以下参数的默认值,否则会导致hstore表性能严重劣化。
建议修改:autovacuum_max_workers_hstore=3,autovacuum_max_workers=6,autovacuum=true。
enable_hstore_lightupdate
参数说明:用于控制是否开启对hstore表上的轻量化UPDATE(对Hstore表执行UPDATE时会自动判断是否需要轻量化UPDATE)。
参数类型:SIGHUP
取值范围:布尔型
- on表示开启对hstore表上的轻量化UPDATE。
- off表示关闭对hstore表上的轻量化UPDATE。
默认值:off
enable_hstore_merge_keepgtm
参数说明:用于控制列存、hstore表上的autovacuum中的merge是否在GTM(全局事务管理)占槽位。
参数类型:SIGHUP
取值范围:布尔型
- true表示在GTM(全局事务管理)占槽位。
- false表示在GTM(全局事务管理)不占槽位。
默认值:true
hstore_buffer_size
参数说明:用于控制HStore的CU槽位数量,该槽位用于存储每个CU的更新链,能显著提升更新与查询效率。
为避免占用内存过大,系统会根据内存大小计算出一个槽位值,再与该参数相比取最小的值。
参数类型:POSTMASTER
取值范围:整型,100~100000
默认值:true
gtm_option
参数说明:GaussDB(DWS)场景下,指定GTM运行模式。该参数仅8.2.1及以上集群版本支持。
- GTM模式:常规模式,由GTM统一管理运行中的事务,以及XID和CSN的分配工作。
- GTM-Lite模式:GTM只负责XID的分配和CSN的更新,不再负责全局事务管理。GTM-Lite模式适用于高并发,短查询的TP场景,可以在保证事务一致性的情况下提升查询性能。
- GTM-Free模式:分布式事务只支持写外部一致性,不具有读外部一致性。实时数仓场景下设置该模式不生效。
参数类型:POSTMASTER
取值范围:枚举类型
- gtm或0:表示开启GTM模式。
- gtm-lite或1:表示开启GTM-Lite模式。
- gtm-free或2:表示开始GTM-Free模式。
默认值:gtm
- GaussDB(DWS)和GTM都有相同含义的gtm_option参数,对于GTM和GTM-Lite两种模式,一定要在gaussdb和gtm上设置为相同的模式,否则会出现业务报错无法执行的问题。
- GTM-Free模式可以通过enable_gtm_free = on或gtm_option = gtm-free的任一方法开启。
- 设置非GTM-Free模式时,enable_gtm_free必须设置为off。
- GTM-Free模式仅在混合云与ESL场景设置后生效。
defer_xid_cleanup_time
参数说明:指定实时数仓中GTM-Lite模式下全局OldestXmin的维护周期。每个维护周期内,由CCN或FCN进行全局OldestXmin的收集判断和统一下发。该参数仅8.2.1及以上集群版本支持。
此参数仅在GTM-Lite模式生效,不建议修改此参数。
参数类型:SIGHUP
取值范围:整型,1~INT_MAX ,单位为ms。
默认值:5000
binlog_consume_timeout
参数说明:用于控制在线扩缩容binlog表时,循环判断binlog记录是否都被消费的超时时间。该参数仅8.3.0.100及以上版本支持。
参数类型:SIGHUP
取值范围:整型,0~86400
默认值: 3600