Updated on 2025-03-04 GMT+08:00

Settings

synchronous_commit

Parameter description: Specifies the synchronization mode of the current transaction.

Type: USERSET

Value range: enumerated values

  • on indicates synchronization logs of a standby server are updated to disks.
  • off indicates asynchronous commit.
  • local indicates local commit.
  • remote_write indicates synchronization logs of a standby server are written to disks.
  • remote_receive indicates synchronization logs of a standby server are required to receive data.

Default value: on

wal_skip_fpw_level

Parameter description: Specifies whether to write the whole page to WALs when a page is modified for the first time after a checkpoint on a DN. This parameter controls if FPWs of different kinds are logged in WAL to avoid space shortage or slow synchronization between primary and standby nodes due to too many WAL logs. This parameter is supported by cluster versions 8.3.0 and later. For versions earlier than 8.3.0, see write_fpi_hint.

Type: USERSET

Value range: an integer

  • 0: enables All FPWs.
  • 1: specifies that when setting hintbits for the heap tuples is the first change since checkpoint, FPW logs are not written. Whether this function takes effect is not affected by the enable_crc_check and wal_log_hints parameters. If this parameter is set to 1, it is equivalent to write_fpi_hint=off in an earlier version. For details, see write_fpi_hint.
  • 2: FPW logs of indexes and FPW logs after the hintbits on the heap page is modified are not recorded.

Default value: 1

wal_decelerate_policy

Parameter description: Specifies the behavior policy after rate limiting is triggered. This parameter is supported only by clusters of 8.2.0 and later versions.

Type: USERSET

Value range: enumerated values

  • warning indicates that an alarm is generated but the rate is not limited.
  • decelerate indicates that the rate will be limited based on policy settings.

Default value: warning

Setting the parameter to warning does not affect performance. Setting it to decelerate will limit the rate based on policy settings if the rate exceeds the threshold.

wal_write_speed

Parameter description: Specifies the maximum WAL write speed (byte/s) allowed by each query on a single DN. This parameter is supported only by clusters of 8.2.0 or later.

Type: USERSET

Value range: an integer ranging from 1024 to 10240000, in KB.

Default value: 30MB

The rate of a large number of jobs with index copy and deletion operations will be limited.

wal_decelerate_trigger_threshold

Parameter description: Specifies the threshold of WAL write rate limiting for each query on a single DN. This parameter is supported only by cluster versions 8.2.0 and later.

Type: USERSET

Value range: an integer ranging from 1024 to 100000000000, in KB.

Default value: 128MB

This function is triggered only if the number of Xlogs generated by a single query is greater than the value of this parameter. DDL operations or a small number of DML operations are not affected.

commit_delay

Parameter description: Specifies the duration of committed data be stored in the WAL buffer.

Type: USERSET

Value range: an integer, ranging from 0 to 100000 (unit: μs). 0 indicates no delay.

Default value: 0

  • When this parameter is set to a value other than 0, the committed transaction is stored in the WAL buffer instead of being written to the WAL immediately. Then, the WalWriter process flushes the buffer out to disks periodically.
  • If system load is high, other transactions are probably ready to be committed within the delay. If no transactions are waiting to be submitted, the delay is a waste of time.

commit_siblings

Parameter description: Specifies a limit on the number of ongoing transactions. If the number of ongoing transactions is greater than the limit, a new transaction will wait for the period of time specified by commit_delay before it is submitted. If the number of ongoing transactions is less than the limit, the new transaction is immediately written into a WAL.

Type: USERSET

Value range: an integer ranging from 0 to 1000

Default value: 5

wal_compression

Parameter description: Specifies whether to compress FPI pages.

Type: USERSET

Value range: Boolean

  • on: enable the compression
  • off: disable the compression

Default value: on

  • Only zlib compression algorithm is supported.
  • For clusters that are upgraded to the current version from an earlier version, this parameter is set to off by default. You can run the gs_guc command to enable the FPI compression function if needed.
  • If the current version is a newly installed version, this parameter is set to on by default.
  • If this parameter is manually enabled for a cluster upgraded from an earlier version, the cluster cannot be rolled back.

wal_compression_level

Parameter description: Specifies the compression level of zlib compression algorithm when the wal_compression parameter is enabled.

Type: USERSET

Value range: an integer ranging from 0 to 9.

  • 0 indicates no compression.
  • 1 indicates the lowest compression ratio.
  • 9 indicates the highest compression ratio.

Default value: 9