Updated on 2024-08-20 GMT+08:00

Developer Options

allow_system_table_mods

Parameter description: Specifies whether the structure of a system catalog or the name of a system schema can be modified.

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

Value range: Boolean

  • on indicates that the structure of the system catalog or the name of the system schema can be modified.
  • off indicates that the structure of the system catalog or the name of the system schema cannot be modified.

Default value: off

You are advised not to change the default value of this parameter. If this parameter is set to on, system catalogs may be damaged and the database may fail to be started.

allow_create_sysobject

Parameter description: Specifies whether objects such as functions, stored procedures, and synonyms can be created or modified in the system schema. The system schema refers to the schema provided by the database after initialization, excluding the public schema. The OID of the system schema is usually smaller than 16384.

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

Value range: Boolean

  • on indicates that initial users and system administrators can create or modify objects such as functions, stored procedures, and synonyms in the system schema. The sysadmin user has permissions to create or replace, alter, grant, and revoke system objects by default. For details about whether other users are allowed to create these objects, see the permission requirements of the corresponding schema.
  • off indicates that all users are not allowed to create or modify objects such as functions, stored procedures, and synonyms in the system schema. The sysadmin user does not have permissions to create or replace, alter, grant, and revoke system objects by default.

Default value: on

debug_assertions

Parameter description: Specifies whether to enable various assertion checks. It can assist in debugging. When an exception or a crash occurs, enable this parameter to identify programming defects. To use this parameter, the macro USE_ASSERT_CHECKING must be defined (through the configure option --enable-cassert) during the GaussDB compilation.

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

Value range: Boolean

  • on indicates that various assertion checks are enabled.
  • off indicates that various assertion checks are disabled.

If you compile GaussDB with the assertion check enabled, debug_assertions is set to on by default.

Default value: off

ignore_checksum_failure

Parameter description: If this parameter is enabled, the system ignores the failure (but still generates an alarm). Continuing execution may result in breakdown, damaged data being transferred or saved, failure of data recovery from remote nodes, or other serious problems. You are advised not to modify the settings.

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

Value range: Boolean

  • on indicates that data check errors are ignored.
  • off indicates that data check errors are reported.

Default value: off

ignore_system_indexes

Parameter description: Specifies whether to ignore system indexes when reading system catalog (but still update the indexes when modifying the tables).

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

This parameter is useful for recovering data from tables whose system indexes are damaged.

Value range: Boolean

  • on indicates that system indexes are ignored.
  • off indicates that system indexes are not ignored.

Default value: off

post_auth_delay

Parameter description: Specifies the delay in the connection to the server after a successful authentication. Developers can attach a debugger to the server startup process.

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

Value range: an integer ranging from 0 to 2147. The unit is s.

Default value: 0

This parameter is used only for commissioning and fault locating. To prevent impact on service running, ensure that the default value 0 is used in the production environment. If this parameter is set to a value other than 0, the cluster may be abnormal due to a long authentication delay.

pre_auth_delay

Parameter description: Specifies the period of delaying authentication after the connection to the server is started. Developers can attach a debugger to the authentication procedure.

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

Value range: an integer ranging from 0 to 60. The unit is s.

Default value: 0

This parameter is used only for commissioning and fault locating. To prevent impact on service running, ensure that the default value 0 is used in the production environment. If this parameter is set to a value other than 0, the cluster may be abnormal due to a long authentication delay.

trace_notify

Parameter description: Specifies whether to enable the function of generating debugging output for the LISTEN and NOTIFY commands. The level of client_min_messages or log_min_messages must be debug1 or lower so that debugging output can be recorded in the client or server logs, respectively.

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

Value range: Boolean

  • on indicates that the function is enabled.
  • off indicates that the function is disabled.

Default value: off

trace_recovery_messages

Parameter description: Specifies whether to enable logging of recovery-related debugging output. This parameter allows users to overwrite the normal setting of log_min_messages, but only for specific messages. This is intended for the use in debugging the standby node.

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

Value range: enumerated values. Valid values include debug5, debug4, debug3, debug2, debug1, and log. For details about the parameter values, see log_min_messages.

Default value: log

  • log indicates that recovery-related debugging information will not be logged.
  • Except the default value log, each of the other values indicates that recovery-related debugging information at the specified level will also be logged. Common settings of log_min_messages enable logs to be unconditionally recorded into server logs.

trace_sort

Parameter description: Specifies whether to print information about resource usage during sorting operations. This parameter is available only when the macro TRACE_SORT is defined during the GaussDB compilation. However, TRACE_SORT is currently defined by default.

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

Value range: Boolean

  • on indicates that the function is enabled.
  • off indicates that the function is disabled.

Default value: off

zero_damaged_pages

Parameter description: Specifies whether to detect a damaged page header that causes GaussDB to report an error, aborting the current transaction.

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

Value range: Boolean

  • Setting this parameter to on causes the system to report a warning, zero out the damaged page, and continue processing. This behavior will destroy data, including all the rows on the damaged page. However, it allows you to bypass the error and retrieve rows from any undamaged pages that may be present in the table. Therefore, it is useful for restoring data if corruption has occurred due to a hardware or software error. In most cases, you are advised not to set this parameter to on if you want to restore data from damaged pages.
  • If this parameter is set to off, the system does not fill zeros in damaged pages.

Default value: off

string_hash_compatible

Parameter description: Specifies whether to use the same method to calculate char-type hash values and varchar- or text-type hash values. Based on the setting of this parameter, you can determine whether a redistribution is required when a distribution key is converted from a char-type data distribution into a varchar- or text-type data distribution.

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

Value range: Boolean

  • on indicates that the same calculation method is used and a redistribution is not required.
  • off indicates that different calculation methods are used and a redistribution is required.

Calculation methods differ in the length of input strings used for calculating hash values. (For a char-type hash value, spaces following a string are not counted as the length. For a text- or varchar-type hash value, the spaces are counted.) The hash value affects the calculation result of queries. To avoid query errors, do not modify this parameter during database running once it is set.

Default value: off

remotetype

Parameter description: Specifies the remote connection type.

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

Value range: enumerated values. Valid values are application, coordinator, datanode, gtm, gtmproxy, internaltool, and gtmtool.

Default value: application

max_user_defined_exception

Parameter description: Specifies the maximum number of exceptions.

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

Value range: an integer. Currently, only the fixed value 1000 is supported.

Default value: 1000

enable_compress_spill

Parameter description: Specifies whether to enable the compression function of writing data to disk.

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

Value range: Boolean

  • on or true indicates that optimization for writing data to disk is enabled.
  • off or false indicates that optimization for writing data to a disk is disabled.

Default value: on

enable_parallel_ddl

Parameter description: Specifies whether multiple CNs can concurrently perform DDL operations on the same database object.

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

Value range: Boolean

  • on: DDL operations can be concurrently performed without distributed deadlocks.
  • off: DDL operations cannot be concurrently performed as distributed deadlocks may occur.

Default value: on

support_batch_bind

Parameter description: Specifies whether to batch bind and execute PBE statements through APIs such as JDBC, ODBC, and libpq.

Parameter type: Boolean.

Unit: none

Value range:

  • on indicates that batch binding and execution are used.
  • off indicates that batch binding and execution are not used.

Default value: on

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

Setting suggestion: Retain the default value.

numa_distribute_mode

Parameter description: Specifies the distribution of some shared data and threads among NUMA nodes. This parameter is used to optimize the performance of large-scale Arm servers with multiple NUMA nodes. Generally, you do not need to set this parameter.

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

Value range: a string. The valid values are none and all.

  • none indicates that this function is disabled.
  • all indicates that some shared data and threads are distributed to different NUMA nodes to reduce the number of remote access times and improve performance. Currently, this function applies only to Arm servers with multiple NUMA nodes. All NUMA nodes must be available for database processes. You cannot select only some NUMA nodes.

In the current version, numa_distribute_mode cannot be set to all on the x86 platform.

Default value: 'none'

log_pagewriter

Parameter description: Specifies whether to display the page refresh information of a thread and details about an incremental check point after the incremental check point is enabled. You are advised not to set this parameter to true because a large amount of information will be generated.

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

Value range: Boolean

Default value: off

advance_xlog_file_num

Parameter description: Specifies the number of Xlog files that are periodically initialized in advance in the background. This parameter is used to prevent the Xlog file initialization from affecting the performance during transaction commit. However, such a fault may occur only when the system is overloaded. Therefore, you do not need to set this parameter.

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

Value range: an integer ranging from 0 to 1000000. The value 0 indicates that initialization is not performed in advance. For example, the value 10 indicates that the background thread periodically initializes 10 Xlog files in advance based on the write location of the current Xlog.

Default value: 0

comm_sender_buffer_size

Parameter description: Specifies the size of the buffer for each interaction between CNs and DNs and between DNs in the stream plan. In some cases, different values affect the stream performance. After the value is reset, the cluster needs to be restarted for the reset to take effect.

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

Value range: an integer ranging from 1 to 1024. The unit is KB.

Default value: 8

ustore_attr

Parameter description: This parameter is used to control the information statistics of Ustore tables, rollback type, UB-tree index type, and data verification during the running of key modules (including data, indexes, rollback segments, and replay). This parameter helps R&D engineers locate faults.

Parameter type: string.

Unit: none

Value range: This parameter is set in key-value mode. The mapping between keys and values is as follows: If multiple key-value pairs are used, use semicolons (;) to separate them. For example, ustore_attr='ustore_verify_level=FAST;ustore_verify_module=UPAGE:UBTREE:UNDO:REDO'.

  • ustore_verify_level: Specifies the verification level.

    Value range: The value is case-insensitive. For details, see the following table.

    Table 1 Parameter value meaning of ustore_verify_level

    Parameter Value

    Description

    NONE

    NONE indicates that the verification function is disabled. You are advised to enable this function to test performance.

    FAST

    FAST indicates fast verification. The verification content is small and the impact on performance is minimized.

    COMPLETE

    COMPLETE indicates complete verification. The verification content is the largest and the performance is greatly affected.

    Default value: FAST

  • ustore_verify_module: Specifies a module that controls verification.

    Value range: The value is case-insensitive. The value can be one or more of UPAGE, UBTREE, UNDO, REDO, and ROACH, or it can be ALL or NULL. When multiple values of UPAGE, UBTREE, UNDO, REDO, and ROACH are used, separate them with colons (:).For example, ustore_verify_module=UPAGE:UBTREE:UNDO:REDO.

    When the ROACH module is enabled, the value of the ustore_verify_level parameter is ignored during the ROACH backup. By default, the level of verification is the highest and the performance is greatly affected. Therefore, exercise caution when using this parameter.

    Table 2 Parameter value meaning of ustore_verify_module

    Parameter Value

    Description

    UPAGE

    Indicates that data page verification is enabled.

    UBTREE

    Indicates that UB-tree index verification is enabled.

    UNDO

    Indicates that rollback segment data verification is enabled.

    REDO

    Indicates that data page verification for the REDO process is enabled.

    ROACH

    This parameter is discarded. The verification has been removed from the underlying logic. ustore_verify_module can be set to roach but it does not take effect.

    ALL

    Indicates that data verification for the UPAGE, UBTREE, UNDO, REDO, and ROACH modules is enabled.

    NULL

    Indicates that data verification for the UPAGE, UBTREE, UNDO, REDO, and ROACH modules is disabled.

    Default value: UPAGE:UBTREE:UNDO

  • index_trace_level: determines whether to enable index tracing and controls the printing level. After this function is enabled, information about index tuples that meet the conditions is printed based on the printing level during index scan.

    Value range: The values are described in the following table.

    Default value: NO

    Table 3 Parameter value meaning of index_trace_level

    Parameter Value

    Description

    NO

    No additional information is printed.

    NORMAL

    Information about visible index tuples is printed, including:

    • ID and offset of the index page where the current index tuple is located
    • Current tuple status
    • TID and partOid corresponding to the current tuple
    • xmin and xmax information corresponding to the current tuple
    • Current tuple content (if enable_log_tuple is set to on).

    VISIBILITY

    On the basis of NORMAL, the information about the index tuples that do not pass the visibility check is printed and whether the index tuples are visible is marked.

    SHOWHIKEY

    On the basis of VISIBILITY, the system tries to print the information about the HIKEY tuple on the page.

    ALL

    Information about all tuples on the scanned index page is printed.

  • enable_log_tuple: specifies whether to print the contents of related tuples when printing log-level prompts for troubleshooting and locating.

    Value range: on or off (case-insensitive)

    Default value: off

  • enable_ustore_sync_rollback: specifies whether to enable synchronous rollback for Ustore tables.

    Value range: Boolean

    Default value: true

  • enable_ustore_async_rollback: specifies whether to enable asynchronous rollback for Ustore tables.

    Value range: Boolean

    Default value: true

  • enable_ustore_page_rollback: specifies whether to enable page rollback for Ustore tables.

    Value range: Boolean

    Default value: true

  • enable_ustore_partial_seqscan: specifies whether to enable partial scan for Ustore tables.

    Value range: Boolean

    Default value: false

  • enable_candidate_buf_usage_count: specifies whether to enable buffer usage statistics.

    Value range: Boolean

    Default value: false

  • ustats_tracker_naptime: specifies the interval for collecting statistics on Ustore tables.

    Value range: [1,INT_MAX/1000].

    Default value: 20, in seconds.

  • umax_search_length_for_prune: specifies the maximum search depth of the prune operation on the Ustore table.

    Value range: [1,INT_MAX/1000]

    Default value: 10

When setting ustore_attr, do not leave spaces or other characters before and after the equal sign (=) between key and value, for example, ustore_attr='ustore_verify_level = FAST;. If the kernel code verification detects that the parameter is invalid, the output shows success, but the setting does not take effect.

Default value: an empty string

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

Exercise caution when setting the ustore_attr parameter. You are advised to modify this parameter with the assistance of engineers.

index_txntype

Parameter description: Determines whether the index type of UB-tree is PCR or RCR. PCR supports flashback query based on indexes, but RCR does not.

Parameter type: string.

Unit: none

Value range: 'PCR' or 'RCR'.

Default value: an empty string

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

Setting suggestion: You are advised to set it to "'RCR".

default_index_kind

Parameter description: Controls the default behavior of creating indexes.

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

Value range: an integer. Currently, only the fixed values 0, 1, and 2 are supported.

  • 0: The global partitioned index function is disabled for distributed deployment.
  • 1: A local index is created by default.
  • 2: A global index is created by default.

Default value: 2

You are advised not to change the default value of this parameter. Otherwise, the index validity may be affected.

enable_segment_remain_cleanup

Parameter description: Specifies which the residual segment-page cleanup feature is to be enabled.

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

Value range: Boolean

  • on: indicates that the old type of residual segment-page cleanup is enabled.
    • Query APIs: gs_stat_remain_segment_info and gs_local_stat_remain_segment_info.
    • Cleanup APIs: gs_free_remain_segment and gs_local_free_remain_segment.
  • off: indicates that the new type of residual segment-page cleanup is enabled.
    • Query APIs: GS_SEG_SPC_REMAIN_SEGMENTS and GS_SEG_SPC_REMAIN_EXTENTS.
    • Cleanup APIs: gs_seg_free_spc_remain_segment and gs_seg_free_spc_remain_extent.

Do not change the cleanup mode unless necessary. Otherwise, residual segment-page data may fail to be cleaned up or other exceptions may occur.

Default value: off

convert_illegal_char_mode

Parameter description: Specifies the placeholders of invalid characters that can be displayed on the client when the enable_convert_illegal_char parameter is enabled.

Parameter type: string

Unit: none

Value range: 95 characters whose decimal codes range from 32 to 126 in the ASCII coding table.

Default value: '?'

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

Setting suggestion: none

default_segment

Parameter description: Specifies whether to create a segment-page table by default.

Parameter type: Boolean.

Unit: none

Value range:

  • on: A segment-page table is created by default when the segment field is not specified.
  • off: A page table is created by default when the segment field is not specified.

Default value: off

Setting method: This is a SUSET parameter. Set it based on instructions provided in Table 1.

Setting suggestion: none.

  • If --undostoragetype is set to 'page' or is not set during database initialization, the data of Ustore is forcibly stored in page mode, but Astore is not affected.