更新时间:2024-07-12 GMT+08:00
分享

实时数仓GUC参数

autovacuum

参数说明:控制是否启动数据库自动清理进程(autovacuum)。

参数类型:SIGHUP

取值范围:布尔型

  • on表示开启数据库自动清理进程。
  • off表示关闭数据库自动清理进程。

默认值:on

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。

默认值:3

autovacuum_max_workers_hstore

参数说明:设置Autovacuum_max_workers里面,能同时运行的专用于清理hstore的自动清理线程的最大数量。

参数类型:SIGHUP

取值范围:整型

默认值:0

当需要使用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~10000000

默认值:100000

相关文档