Updated on 2024-05-07 GMT+08:00

AI Features

enable_hypo_index

Parameter description: Specifies whether the database optimizer considers the created virtual index when executing the EXPLAIN statement. By executing EXPLAIN on a specific query statement, you can evaluate whether the index can improve the execution efficiency of the query statement based on the execution plan provided by the optimizer.

This parameter is a USERSET parameter. Set it based on instructions provided in Table 1.

Value range: Boolean

  • on indicates that a virtual index is created during EXPLAIN execution.
  • off indicates that no virtual index is created during EXPLAIN execution.

Default value: off

db4ai_snapshot_mode

Parameter description: There are two snapshot modes: MSS (materialized mode, storing data entities) and CSS (computing mode, storing incremental information).

This parameter is a USERSET parameter. Set it based on instructions provided in Table 1.

Value range: a string, which can be MSS or CSS

  • MSS indicates the materialized mode. The DB4AI stores data entities when snapshots are created.
  • CSS indicates the computing mode. The DB4AI stores incremental information when creating snapshots.

Default value: MSS

db4ai_snapshot_version_delimiter

Parameter description: Specifies the delimiter for the snapshot version of a data table.

This parameter is a USERSET parameter. Set it based on instructions provided in Table 1.

Value range: a string of 1 character. The exclamation mark (!) is invalid.

Default value: @

db4ai_snapshot_version_separator

Parameter description: Specifies the subversion delimiter of a data table snapshot.

This parameter is a USERSET parameter. Set it based on instructions provided in Table 1.

Value range: a string of 1 character. The question mark (?) is invalid.

Default value: .

enable_ai_stats

Parameter description: Specifies whether to create or use intelligent statistics.

This parameter is a USERSET parameter. Set it based on instructions provided in Table 1.

Value range: Boolean

Default value: on

multi_stats_type

Parameter description: Specifies the type of statistics to be created when enable_ai_stats is set to on.

This parameter is a USERSET parameter. Set it based on instructions provided in Table 1.

Value range: BAYESNET, MCV, or ALL.

  • BAYESNET: Only intelligent statistics are created.
  • MCV: Only traditional statistics are created.
  • ALL: Both traditional statistics and intelligent statistics are created.

Default value: BAYESNET

ai_stats_cache_limit

Parameter description: Specifies the maximum number of models that can be cached when enable_ai_stats is set to on.

This parameter is a USERSET parameter. Set it based on instructions provided in Table 1.

Value range: an integer ranging from 30 to 1000

Default value: 100

enable_operator_prefer

Parameter description: Specifies whether to enable the operator preference rule. If the estimated costs are similar, the parameterized path is preferred for table join. Note: There are two prerequisites for this parameter to take effect: 1. The parameterized path is generated. 2. The estimated cost of the parameterized path is similar to that of other index scan operators.

This parameter is a USERSET parameter. Set it based on instructions provided in Table 1.

Value range: Boolean

Default value: off

enable_cachedplan_mgr

Parameter description: Specifies whether to enable the adaptive plan selection function.

This parameter is a USERSET parameter. Set it based on instructions provided in Table 1.

Value range: Boolean

Default value: on

max_stmt_aplan_num

Parameter description: Specifies the maximum number of candidate plans per query in adaptive plan selection.

This parameter is a USERSET parameter. Set it based on instructions provided in Table 1.

Value range: an integer ranging from 0 to 20

Default value: 5

recommend_session_aplan_memory

Parameter description: Specifies the maximum memory size of candidate plans of each session in adaptive plan selection. If the size is greater than or equal to the value of this parameter, no new candidate plan will be inserted into the memory. The unit is KB.

This parameter is a USERSET parameter. Set it based on instructions provided in Table 1.

Value range: an integer ranging from 1024 to 102400

Default value: 5120

repick_plan_min_duration

Parameter description: Specifies the lower limit of the detected plan. During policy detection, if the execution time of the detected policy is not less than that of the plan multiplied by the value of repick_plan_min_duration, an error is reported. If this parameter is set to 0, the error reporting mechanism is disabled.

This parameter is a USERSET parameter. Set it based on instructions provided in Table 1.

Value range: an integer ranging from 0 to INT_MAX

Default value: 0

unix_socket_directory

Parameter description: Specifies the path for storing files in the unix_socket communication mode. You can set this parameter only in the configuration file postgresql.conf. Before enabling the fenced mode, you need to set this GUC parameter.

This parameter is a POSTMASTER parameter. Set it based on instructions provided in Table 1.

Value range: a string of 0 or more characters

Default value: ''

enable_ai_watchdog

Parameter description: Enables or disables the AI watchdog function.

This is a SIGHUP parameter. Set it based on instructions provided in Table 1.

Value range: Boolean

  • on: enabled.
  • off: disabled.

Default value: on

enable_ai_watchdog_forcible_oom_detection

Parameter description: Forcibly enables or disables OOM detection of the AI watchdog. If this parameter is disabled, the system automatically determines whether to enable OOM detection based on the current database specifications. In automatic determination mode, OOM detection is enabled only when max_process_memory is set to 64 GB or larger.

This is a SIGHUP parameter. Set it based on instructions provided in Table 1.

Value range: Boolean

  • on: enabled.
  • off: disabled.

Default value: off

enable_ai_watchdog_healing

Parameter description: Enables or disables the self-healing function of the AI watchdog. You are advised not to enable this function because it is easy to cause suspension in high-load scenarios with 16-core CPU or lower specifications.

This is a SIGHUP parameter. Set it based on instructions provided in Table 1.

Value range: Boolean

  • on: enabled.
  • off: disabled.

Default value: on

ai_watchdog_max_cpu_usage

Parameter description: Specifies the expected upper limit of the database CPU usage. The value is normalized based on the multi-core situation. If this parameter is set to 0, the system does not check the CPU usage.

This is a SIGHUP parameter. Set it based on instructions provided in Table 1.

Value range: a floating-point number ranging from 0 to 1.

Default value: 0.8

ai_watchdog_oom_dynamic_used_threshold

Parameter description: Specifies the expected upper limit of the dynamic memory usage of the database.

This is a SIGHUP parameter. Set it based on instructions provided in Table 1.

Value range: a floating-point number ranging from 0 to 1.

Default value: 0.95

ai_watchdog_oom_growth_confidence

Parameter description: Specifies the confidence level of the OOM detection algorithm.

This is a SIGHUP parameter. Set it based on instructions provided in Table 1.

Value range: a floating-point number ranging from 0.1 to 1.

Default value: 0.95

ai_watchdog_oom_malloc_failures

Parameter description: Specifies the maximum number of consecutive memory allocation failures tolerated. If the number of consecutive memory allocation failures exceeds this value, the OOM detection function may be triggered.

This is a SIGHUP parameter. Set it based on instructions provided in Table 1.

Value range: an integer ranging from 1 to 32000.

Default value: 50

ai_watchdog_oom_other_used_memory_threshold

Parameter description: Specifies the expected upper limit of memory usage of other parts of the database, in MB.

This is a SIGHUP parameter. Set it based on instructions provided in Table 1.

Value range: an integer ranging from 1 to 32000.

Default value: 20480

ai_watchdog_oom_process_threshold

Parameter description: Specifies the expected percentage of the database process usage to the value of max_process_memory. When the threshold is reached, memory leakage determination is triggered. The value can be greater than 1.

This is a SIGHUP parameter. Set it based on instructions provided in Table 1.

Value range: a floating-point number ranging from 0 to 10.

Default value: 1.1

ai_watchdog_oom_shared_threshold

Parameter description: Specifies the expected upper limit of the shared memory usage of the database.

This is a SIGHUP parameter. Set it based on instructions provided in Table 1.

Value range: a floating-point number ranging from 0 to 1.

Default value: 0.4

ai_watchdog_rto_restriction_time

Parameter description: Specifies the RTO threshold of the AI watchdog self-healing function. If the RTO threshold is exceeded, self-healing is not performed. The unit is second.

This is a SIGHUP parameter. Set it based on instructions provided in Table 1.

Value range: an integer ranging from 0 to 36000.

Default value: 600

ai_watchdog_tolerance_times

Parameter description: Specifies the maximum number of consecutive abnormal events that can be tolerated by the AI watchdog before self-healing is started. This parameter can be used to avoid incorrect operations.

This is a SIGHUP parameter. Set it based on instructions provided in Table 1.

Value range: an integer ranging from 0 to 100.

Default value: 4

ai_watchdog_tps_threshold

Parameter description: Specifies the lower limit of the expected TPS usage of the database instance. If the TPS usage is lower than the value of this parameter, the exception determination logic is triggered.

This is a SIGHUP parameter. Set it based on instructions provided in Table 1.

Value range: an integer ranging from 0 to 32000.

Default value: 2

ai_watchdog_wait_time

Parameter description: Adjusts the waiting time, in seconds. To prevent the database from frequently performing self-healing operations, the database waits for a period of time after startup.

This is a SIGHUP parameter. Set it based on instructions provided in Table 1.

Value range: an integer ranging from 0 to 36000.

Default value: 1800

ai_watchdog_warning_retention

Parameter description: Specifies the maximum number of alarm records that the AI watchdog can retain in the dbe_perf.ai_watchdog_detection_warnings view.

This is a SIGHUP parameter. Set it based on instructions provided in Table 1.

Value range: an integer ranging from 0 to 32000.

Default value: 20