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

Miscellaneous Parameters

enable_default_ustore_table

Parameter description: Specifies whether to enable the Ustore by default. If this parameter is set to on, all created tables are Ustore tables.

Parameter type: Boolean.

Value range:
  • on indicates that the Ustore is enabled by default.
  • off indicates that the Ustore is disabled by default.

Default value: on

Setting method: This is a USERSET parameter. Set it based on instructions provided in Table 1. Note that the track_counts and track_activities parameters must be enabled when the Ustore table is used. Otherwise, space expansion may occur. In upgrade scenarios, the default value of this parameter preferentially ensures compatibility. That is, the default value after the upgrade is the same as that in the source version.

enable_ustore

Parameter description: Specifies whether to enable the Ustore. If this parameter is set to on, Ustore tables can be created. Note that the track_counts and track_activities parameters must be enabled when the Ustore table is used. Otherwise, space bloat may occur.

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

Value range: [off,on]

Default value: on

enable_segment_datafile_preallocate

Parameter description: Specifies whether to allocate disk space immediately during segment-page file name extension. If this parameter is set to on, the system preferentially uses fallocate to allocate disk space immediately during file expansion. If the system does not support fallocate, the system applies for disk space by writing zeros byte by byte. If this parameter is set to off, the system does not allocate disk space immediately during file expansion and hole files are created. This is a SIGHUP parameter. Set it based on instructions provided in Table 1.

Value range: [off,on]

Default value: on

reserve_space_for_nullable_atts

Parameter description: Specifies whether to reserve space for the nullable attribute of an Ustore table. If this parameter is set to on, space is reserved for the nullable attribute of the Ustore table by default.

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

Value range: [off,on]

Default value: on

server_version

Parameter description: Specifies the server version number.

This is a fixed INTERNAL parameter. It can be viewed but cannot be modified. This parameter is not recommended. You can use the opengauss_version() function to obtain the kernel version.

Value range: a string

Default value: 9.2.4

server_version_num

Parameter description: Specifies the server version number.

This is a fixed INTERNAL parameter. It can be viewed but cannot be modified.

Value range: an integer

Default value: 90204

block_size

Parameter description: Specifies the block size of the current database.

This is a fixed INTERNAL parameter. It can be viewed but cannot be modified.

Default value: 8192

segment_size

Parameter description: Specifies the segment file size of the current database.

This is a fixed INTERNAL parameter. It can be viewed but cannot be modified.

Default value: 1GB

max_index_keys

Parameter description: Specifies the maximum number of index keys supported by the current database.

This is a fixed INTERNAL parameter. It can be viewed but cannot be modified.

Default value: 32

integer_datetimes

Parameter description: Specifies whether the date and time are in the 64-bit integer format.

This is a fixed INTERNAL parameter. It can be viewed but cannot be modified.

Value range: Boolean

  • on: yes.
  • off: no.

Default value: on

enable_cluster_resize

Parameter description: If an SQL statement involves tables belonging to different groups, you can enable this parameter to push the execution plan of the statement to improve performance.

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

Value range: Boolean

  • on indicates that the execution plan of the statement can be pushed.
  • off indicates that the execution plan of the statement cannot be pushed.

Default value: off

This parameter is used for internal O&M. Do not set it to on unless absolutely necessary.

lc_collate

Parameter description: Specifies the locale in which sorting of textual data is done.

This is a fixed INTERNAL parameter. It can be viewed but cannot be modified.

Default value: Determined by the configuration during the cluster installation and deployment.

lc_ctype

Parameter description: Specifies the locale that determines character classifications. For example, it specifies what a letter and its upper-case equivalent are.

This is a fixed INTERNAL parameter. It can be viewed but cannot be modified.

Default value: Determined by the configuration during the cluster installation and deployment.

max_identifier_length

Parameter description: Specifies the maximum identifier length.

This is a fixed INTERNAL parameter. It can be viewed but cannot be modified.

Value range: an integer

Default value: 63

server_encoding

Parameter description: Specifies the database encoding (character set).

This is a fixed INTERNAL parameter. It can be viewed but cannot be modified.

Default value: Determined when the database is created.

datanode_heartbeat_interval

Parameter description: Specifies the interval at which heartbeat messages are sent between heartbeat threads. You are advised to set this parameter to a value no more than wal_receiver_timeout/2.

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

Value range: an integer ranging from 1000 to 60000. The unit is ms.

Default value: 1s

dfs_partition_directory_length

Parameter description: Specifies the maximum directory name length for the partition directory of a table partitioned by VALUE in the HDFS.

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

Value range: 92 to 7999

Default value: 512

max_concurrent_autonomous_transactions

Parameter description: Specifies the maximum number of autonomous transaction connections, that is, the maximum number of concurrent autonomous transactions executed at the same time. If this parameter is set to 0, autonomous transactions cannot be executed.

Parameter type: integer.

Unit: none

Value range: 0 to 10000. The theoretical maximum value is 10000, and the actual maximum value is a dynamic value. The calculation formula is: 262143 – job_queue_processesautovacuum_max_workersmax_inner_tool_connectionsmax_connectionsAUXILIARY_BACKENDSAV_LAUNCHER_PROCS. The values of job_queue_processes, autovacuum_max_workers, max_inner_tool_connections, and max_connections depend on the settings of the corresponding GUC parameters. AUXILIARY_BACKENDS indicates the number of reserved auxiliary threads, which is fixed to 20. AV_LAUNCHER_PROCS indicates the number of reserved launcher threads for autovacuum, which is fixed to 2.

Default value:

Independent deployment: 80 (60-core CPU/480 GB memory); 40 (32-core CPU/256 GB memory); 20 (16-core CPU/128 GB memory); 10 (8-core CPU/64 GB memory, 4-core CPU/32 GB memory, 4-core CPU/16 GB memory)

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

Suggestion: Set this parameter based on actual service requirements and hardware configurations. It is recommended that this parameter be set to a value less than or equal to 1/10 of max_connections. If you only increase the value of this parameter but do not adjust the memory parameters in the same proportion, the memory may be insufficient and the error message "memory is temporarily unavailable" is displayed when the service load is heavy.

If the value range of this parameter is changed during the upgrade and the value is changed before the commit operation, you need to change the value range to the value allowed before the upgrade if you roll back the upgrade. Otherwise, the database may fail to be started.

mot_config_file

This parameter is unavailable in a distributed system.

enable_gpi_auto_update

Parameter description: Determines whether global indexes are updated by default in partition DDL commands.

This is a USERSET parameter. Set it based on instructions provided in Table 1. This parameter must be set to the same value on CNs and DNs. Otherwise, the global index function may be abnormal.

Value range: Boolean

  • The value on indicates that global indexes are updated regardless of whether the partition DDL commands contain the UPDATE GLOBAL INDEX clause.
  • The value off indicates that global indexes are not updated unless the partition DDL commands contain the UPDATE GLOBAL INDEX clause.

Default value: off

change_cluster_mode

Parameter description: Specifies whether the cluster is in the mode switchover process. Mode switchover refers to: A cluster with one primary and two standby nodes is switched to a cluster with one primary node, one standby node, and one log; a cluster with one primary node, one standby node, and one log is switched to a cluster with one primary and two standby nodes; standby DNs and log DNs in a cluster with one primary node, one standby node, and one log are switched to each other.

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

Value range: an integer ranging from 0 to 2147483647

  • The value 0 indicates that the cluster mode is not being switched.
  • The value 1 indicates that the cluster mode is being switched.
  • Other values are meaningless and have the same effect as the value 0.

Default value: 0

This parameter specifies whether the read function of the standby node in a distributed system is available. If this parameter is set to 1, the read function of the standby node in a distributed system cannot be used. Exercise caution when setting this parameter.

enable_partrouting_optimization

Parameter description: Specifies whether to optimize the insertion of partitioned tables.

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

Value range: Boolean

  • on indicates that the insertion of partitioned tables is optimized. For the INSERT SELECT statement, if the SELECT statement contains a constant partition key, partition routing needs to be performed only once for the INSERT statement, improving performance.
  • off indicates that the insertion of partitioned tables is not optimized. Before inserting each piece of data, you need to perform partition routing to determine the partitioned table to be inserted.

Default value: on

Constraints for optimizing the insertion of partitioned tables:
  • Only the INSERT SELECT statement is supported.
  • INSERT INTO ta SELECT FROM tb: For all partition key values inserted to table a, the column values in the corresponding SELECT result set must be constants. (This column is optional because the default values are constants.)
    • INSERT INTO ta SELECT c,d FROM b WHERE tb.c='1' or SELECT '1' as c, d FROM tb: The result column tb.c is a constant.
    • INSERT INTO ta SELECT c,d FROM b WHERE tb.c=func('1');: If func() is neither a volatile function nor a stable/immutable function that contains non-constant parameters, tb.c can be determined as a constant.
    • If the column value is the return value of an aggregate function, for example, INSERT INTO ta SELECT count(c),d FROM b WHERE tb.c='1' group by c, d;, the count(c) cannot be determined as a constant.
  • The UPSERT clause is not supported.
  • Tables that contain BEFORE and INSTEAD triggers are not supported because the data to be inserted may be changed.

cluster_run_mode

Parameter description: Specifies whether a CN or DN belongs to the primary or standby cluster in a dual-cluster DR scenario. In a single-cluster scenario, the primary cluster is selected by default.

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

Value range: enumerated values

  • cluster_primary indicates that the node is in the primary cluster.
  • cluster_standby indicates that the node is in the standby cluster.

Default value: cluster_primary