更新时间:2024-11-15 GMT+08:00

实时数仓GUC参数

autovacuum

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

参数类型:SIGHUP

取值范围:布尔型

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

默认值:on

autovacuum_compaction_rows_limit

参数说明:小CU的阈值,存活元组数小于这个值的就会被认为是小CU。该参数仅8.2.1.300及以上集群版本支持。

参数类型:USERSET

取值范围:整型,-1~5000

默认值:2500

版本低于9.1.0.100,禁止设置该参数,否则可能会导致主键数据重复

  • 版本低于9.1.0.100,默认值为-1,表示关闭0CU开关。
  • 9.1.0.100版本,该参数默认值为0。
  • 9.1.0.200及以上版本,该参数默认值为2500。
  • 该参数不建议自行修改,如需修改请联系技术支持。

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

autovacuum_max_workers_hstore

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

参数类型:SIGHUP

取值范围:整型

默认值:1

当需要使用hstore表时,一定要同步修改以下几个参数的默认值,否则会导致hstore表性能严重劣化,推荐的修改配置是:

autovacuum_max_workers_hstore=3,autovacuum_max_workers=6,autovacuum=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

  1. GaussDB(DWS)和GTM都有相同含义的gtm_option参数,对于GTM和GTM-Lite两种模式,一定要在gaussdb和gtm上设置为相同的模式,否则会出现业务报错无法执行的问题。
  2. GTM-Free模式可以通过enable_gtm_free = on或gtm_option = gtm-free的任一方法开启。
  3. 设置非GTM-Free模式时,enable_gtm_free 必须设置为off。
  4. GTM-Free模式仅在混合云与ESL场景设置后生效。

defer_xid_cleanup_time

参数说明:指定实时数仓中GTM-Lite模式下全局OldestXmin的维护周期。每个维护周期内,由CCN或FCN进行全局OldestXmin的收集判断和统一下发。该参数仅8.2.1及以上集群版本支持。

此参数仅在GTM-Lite模式生效,不建议修改此参数。

参数类型:SIGHUP

取值范围:整型,1~INT_MAX ,单位为ms。

默认值:5000

enable_hstore_keyby_upsert

参数说明:用于控制是否开启hstore表对于批量upsert的特定优化,针对前端可以保证不会并发upsert到同一行且是全列upsert的场景,建议开启,性能会有较大提升,该参数仅8.3.0及以上集群版本支持。

参数类型:USERSET

取值范围:布尔型

on表示开启对hstore表上的upsert特定优化。

off表示关闭对hstore表上的upsert特定优化,走老的流程。

默认值:off

autovacuum_asyncsort_rows_limit

参数说明:自动异步排序的行数阈值。该参数仅9.1.0及以上集群版本支持。

参数类型:SIGHUP

取值范围:整型,120000~4200000

默认值:600000

autovacuum_asyncsort_size_limit

参数说明:自动异步排序的行数阈值。该参数仅9.1.0及以上集群版本支持。

参数类型:SIGHUP

取值范围:整型,1048576~104857600

默认值:10485760

autovacuum_asyncsort_time_limit

参数说明:自动异步排序的时间间隔,只有距离上次异步排序的时间间隔超过autovacuum_asyncsort_time_limit才会再次触发异步排序。该参数仅9.1.0及以上集群版本支持。

参数类型:SIGHUP

取值范围:整型,0~10080,单位为分钟。

默认值:0

enable_hstore_binlog_table

参数说明:用于控制是否可以创建binlog表。

参数类型:SIGHUP

取值范围:布尔型

  • on表示可以创建binlog表。
  • off表示不可以创建binlog表。

默认值:off

enable_generate_binlog

参数说明:用于控制当前会话的binlog表上的DML操作是否产生binlog。该参数仅9.1.0.200以上集群版本支持。

参数类型:USERSET

取值范围:布尔型

  • on表示产生binlog。
  • off表示不产生binlog。

默认值:on

binlog_consume_timeout

参数说明:用于控制在线扩缩容binlog表或者vacuum full binlog表时,循环判断binlog记录是否都被消费的超时时间。该参数仅8.3.0.100及以上版本支持。单位秒。

参数类型:SIGHUP

取值范围:整型,0~86400

默认值: 3600

enable_hstoreopt_auto_bitmap

参数说明:用于控制是否默认在建表时给HStore Opt表自动设置bitmap columns列。该参数仅9.1.0.100及以上版本支持。

参数类型:SIGHUP

取值范围:布尔型

  • on表示默认设置bitmap columns选项。
  • off表示默认不设置bitmap columns选项。

默认值:off

enable_cu_predicate_pushdown

参数说明:

  1. 功能概述:该功能用于控制是否启用过滤器下推。启用后,能够普遍提升查询性能,尤其是在涉及bitmap_columns列和pck排序列时性能会显著提升。适用于特定的WHERE条件、IS NULL条件、IN条件等场景。该参数仅9.1.0.200及以上版本支持。
  2. 支持的列类型:
    • 整数类型:INT2、INT4、INT8
    • 日期和时间类型:DATE、TIMESTAMP、TIMESTAMPTZ
    • 字符串类型:VARCHAR、TEXT
    • 数值类型:NUMERIC(长度在19以内)
  3. 支持查询条件:该功能支持多种 WHERE 表达式,主要包括:
    • IN 表达式:用于匹配多个值
    • IS NULL / IS NOT NULL 条件:检查列值是否为空或非空
    • 比较表达式:如大于(>)、小于(<)、等于(=)、不等于(<>)等条件,用于范围查询和精确匹配。

参数类型:USERSET

取值范围:布尔型

  • on表示开启对filter下推。
  • off表示关闭对filter下推。

默认值:on

enable_hstoreopt_insert_sort

参数说明:用于控制HStore Opt表是否开启入库排序(包括Vaccum Full)。

该参数仅9.1.0.100及以上版本支持。

参数类型:SIGHUP

取值范围:布尔型

  • on表示开启入库排序。
  • off表示在异步排序开启(autovacuum_asyncsort_time_limit大于0)时,关闭入库排序(包括Vacuum Full),异步排序关闭时,入库排序(包括Vacuum Full) 仍然启用。

默认值:on