Updated on 2024-05-07 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 parameter 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 not advised to change the default value of this parameter. If this parameter is set to on, system tables 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 less than 16384.

This parameter 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 the permission 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 the permission to create or replace, alter, grant, or revoke system objects by default.

Default value: on

debug_assertions

Parameter description: Specifies whether to enable various assertion checks. This parameter assists in debugging. If you are experiencing strange problems or crashes, set this parameter to on 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 parameter 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, this parameter is set to on by default.

Default value: off

ignore_checksum_failure

Parameter description: Specifies whether to ignore check failures (but still generate an alarm) and continue reading data. Continuing reading data may result in breakdown, damaged data being transferred or stored, failure of data recovery from remote nodes, or other serious problems. You are not advised to modify the settings.

This parameter 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 tables (but still update the indexes when modifying the tables).

This parameter 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 parameter 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 second.

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 status 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 parameter 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 status 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 parameter 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 server.

This parameter 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 parameter 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 parameter 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 column is converted from a char-type data distribution into a varchar- or text-type data distribution.

This parameter 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 parameter 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 parameter 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 parameter 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 parameter 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 interfaces such as JDBC, ODBC, and libpq.

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

Value range: Boolean

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

Default value: on

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 parameter 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 not advised to set this parameter to true because a large amount of information will be generated.

This parameter 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 submission. However, such a fault may occur only when the system is overloaded. Therefore, you do not need to set this parameter.

This parameter 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 parameter 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, and data verification during the running of key modules (including data, indexes, rollback segments, and playback). This parameter helps R&D engineers locate faults.

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

Value range: a string. 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'.

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. Otherwise, the parameter is invalid during kernel code verification and the parameter setting fails.

  • ustore_verify_level: Specifies the verification level.

    Value range: a string of case-insensitive characters. 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. A few contents are verified 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: a string. The value is case-insensitive and can be UPAGE, UBTREE, UNDO, REDO, ROACH, ALL, or NULL.

    When more than one of UPAGE, UBTREE, UNDO, REDO, and ROACH are set, use colons (:) to separate them, for example, ustore_verify_module=UPAGE:UBTREE:UNDO:REDO.

    When the ROACH module is enabled by users, the value of the ustore_verify_level parameter is ignored during the backup of the ROACH module. By default, the level of verification is the highest and the performance is greatly affected. Therefore, exercise caution when using the ustore_verify_module 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

    Indicates that data page verification for the ROACH backup is enabled.

    ALL

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

    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 control 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 scanning.

    Value range: a string. 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: indicates whether to enable synchronous rollback for Ustore tables.

    Value range: Boolean

    Default value: true

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

    Value range: Boolean

    Default value: true

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

    Value range: Boolean

    Default value: true

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

    Value range: Boolean

    Default value: false

  • enable_candidate_buf_usage_count: indicates 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 (times)

  • ustore_unit_test: specifies a test parameter for the white-box test.

    Value range: a string

    Default value: empty

Default value: an empty string

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

default_index_kind

Parameter description: Controls the default behavior of creating indexes.

This parameter 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 partition 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.