Cluster Transaction Parameters
This section describes the settings and value ranges of transaction parameters for the cluster.
transaction_isolation
Parameter description: Specifies the isolation level of the current transaction. For a new transaction that is started, the isolation level is fixed to the value of default_transaction_isolation.
Parameter type: string.
Unit: none
Value range: The value is a string of case-sensitive and space-sensitive characters. Only the following values are supported:
- 'serializable': Currently, GaussDB does not support this isolation level. Setting this isolation level has the same effect as 'repeatable read'.
- 'read committed': Only data of committed transactions is read. Uncommitted data cannot be read.
- 'read uncommitted': The performance is the same as that of 'read committed'.
- 'repeatable read': Only the data committed before a transaction starts is read. Uncommitted data or data committed in other concurrent transactions cannot be read.
- 'default': The value is the same as that of default_transaction_isolation.
Default value: 'default'. If the default value of default_transaction_isolation is 'read committed', the output of the show transaction_isolation; command is 'read committed'.
Setting method: This is a USERSET parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: Change the parameter value after fully understanding the parameter meaning and verifying it through testing.
transaction_read_only
Parameter description: Specifies whether the current transaction is a read-only transaction.
Parameter type: Boolean.
Unit: none
Value range:
- on: The current transaction is a read-only transaction.
- off: The current transaction is a read/write transaction.
Default value: off
Setting method: This is a USERSET parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: Change the parameter value after fully understanding the parameter meaning and verifying it through testing.
xc_maintenance_mode
Parameter description: Specifies whether the system is in maintenance mode.
Parameter type: Boolean.
Unit: none
Value range:
- on: The maintenance mode is used.
- off: The maintenance mode is not used.

Exercise caution when enabling this function. You need to avoid data inconsistencies in the cluster.
Default value: off
Setting method: This is a SUSET parameter. Set it based on method 3 provided in Table 2.
Setting suggestion: This parameter is used by maintenance personnel to locate faults. You are advised not to enable this parameter.
Risks and impacts of improper settings: Changing the value of this parameter may cause unexpected results in the cluster. Retain the default value.
allow_concurrent_tuple_update
Parameter description: Specifies whether to allow concurrent update.
Parameter type: Boolean.
Unit: none
Value range:
- on: Concurrent updates are allowed.
- off: Concurrent updates are not allowed.
Default value: on
Setting method: This is a USERSET parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: Change the parameter value after fully understanding the parameter meaning and verifying it through testing.
gtm_host
Parameter description: Specifies the IP address of the primary GTM process. This parameter is visible only to the SYSADMIN user. The IP address can be an IPv4 or IPv6 address.
Parameter type: string.
Unit: none
Value range: a string
Default value: IP address of the primary GTM.
Setting method: This is a SIGHUP parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: Change the parameter value after fully understanding the parameter meaning and verifying it through testing.
gtm_port
Parameter description: Specifies the listening port of the primary GTM process. This parameter is visible only to the SYSADMIN user.

This parameter is specified in the configuration file during installation. Do not modify this parameter unless absolutely necessary. Otherwise, database communication will be affected.
Parameter type: integer.
Unit: none
Value range: 1 to 65535
Default value: specified during installation.
Setting method: This is a POSTMASTER parameter.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: If the port number is changed, the database communication will be affected.
gtm_host1
Parameter description: Specifies the IP address of the standby GTM process. This parameter is visible only to the SYSADMIN user. The IP address can be an IPv4 or IPv6 address.
Parameter type: string.
Unit: none
Value range: a string
Default value: IP address of the standby GTM.
Setting method: This is a SIGHUP parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: Change the parameter value after fully understanding the parameter meaning and verifying it through testing.
gtm_port1
Parameter description: Specifies the listening port of the standby GTM process. This parameter is visible only to the SYSADMIN user.

This parameter is specified in the configuration file during installation. Do not modify this parameter unless absolutely necessary. Otherwise, database communication will be affected.
Parameter type: integer.
Unit: none
Value range: 1 to 65535
Default value: The value is specified during installation if the standby node 1 is deployed. Otherwise, the default value is 6665.
Setting method: This is a POSTMASTER parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: If the port number is changed, the database communication will be affected.
gtm_backup_barrier
Parameter description: Specifies whether to create a restoration point for the GTM starting point.
Parameter type: Boolean.
Unit: none
Value range:
- on: A restoration point is created.
- off: No restoration point is created.
Default value: off
Setting method: This is a SUSET parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: Change the parameter value after fully understanding the parameter meaning and verifying it through testing.
gtm_conn_check_interval
Parameter description: Sets the intervals between two consecutive performed checks on the connections between local threads and the primary GTM for the CN.
Parameter type: integer.
Unit: second
Value range: 0 to 2147483
Default value: 10
Setting method: This is a SIGHUP parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: Change the parameter value after fully understanding the parameter meaning and verifying it through testing.
enable_show_any_tuples
Parameter description: This parameter is available only in a read-only transaction and is used for analysis. When this parameter is set to on, all versions of tuples in the table are displayed.
Parameter type: Boolean.
Unit: none
Value range:
- on: All versions of tuples in the table are displayed.
- off: No versions of tuples in the table are displayed.
Default value: off
Setting method: This is a USERSET parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: Change the parameter value after fully understanding the parameter meaning and verifying it through testing.

In the TOAST scenario, if DML operations (mainly INSERT+UPDATE or INSERT+DELETE) are performed before and after the REINDEX operation, and the read-only transaction is started and the GUC parameter is enabled after the REINDEX operation, historical data in the TOAST table or TOAST index table can be queried separately in the released version. However, when historical data in the TOAST column is queried in the main table, the error message "missing chunk number xxx" is displayed.
gtm_connect_timeout
Parameter description: Specifies the GTM connection timeout. If the connection time of the GTM exceeds its value, the connection times out and exits.
Parameter type: integer.
Unit: second
Value range: 1 to 2147483647
Default value: 2
Setting method: This is a SIGHUP parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: Change the parameter value after fully understanding the parameter meaning and verifying it through testing.
gtm_connect_retries
Parameter description: Specifies the number of GTM reconnection attempts.
Parameter type: integer.
Unit: none
Value range: 1 to 2147483647
Default value: 30
Setting method: This is a SIGHUP parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: Change the parameter value after fully understanding the parameter meaning and verifying it through testing.
gtm_rw_timeout
Parameter description: Specifies the GTM response timeout. If the time spent waiting for GTM responses exceeds its value, the operation times out and exits.
Parameter type: integer.
Unit: second
Value range: 1 to 2147483647
Default value: 60 (1 minute)
Setting method: This is a SIGHUP parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: Change the parameter value after fully understanding the parameter meaning and verifying it through testing.
enable_redistribute
Parameter description: Specifies whether unmatched nodes are redistributed.
Parameter type: Boolean.
Unit: none
Value range:
- on indicates that unmatched nodes are redistributed.
- off indicates that unmatched nodes are not redistributed.
Default value: off
Setting method: This is a SUSET parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: Change the parameter value after fully understanding the parameter meaning and verifying it through testing.
replication_type
Parameter description: Specifies whether the current database is deployed in standalone or one-primary-multiple-standby mode.
Parameter type: integer.
Unit: none
Value range: 0 to 3
- 0: reserved parameter.
- 1: one-primary-multiple-standby mode, covering all scenarios. This mode is recommended.
- 2: single primary mode. In this mode, the standby node cannot be expanded.
- 3: reserved parameter.
Default value: 1
Setting method: This is a POSTMASTER parameter. Set it based on instructions provided in Table 1. This parameter is used for CM deployment and cannot be set.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: Change the parameter value after fully understanding the parameter meaning and verifying it through testing.
pgxc_node_name
Parameter description: Specifies the name of a node.
When a standby node requests to replicate logs on the primary node, if the application_name parameter is not set, the pgxc_node_name parameter is used as the name of the streaming replication slot of the standby node on the primary node. The streaming replication slot is named in the following format: Value of this parameter_IP address of the standby node_Port number of the standby node. The IP address and port number of the standby node are obtained from the IP address and port number of the standby node specified by the replconninfo parameter. The maximum length of a streaming replication slot name is 61 characters. If the length of the concatenated string exceeds 61 characters, the truncated pgxc_node_name will be used for concatenation to ensure that the length of the streaming replication slot name is less than or equal to 61 characters.
Parameter type: string.
Unit: none
Value range: a string
Default value: current node name.
Setting method: This is a POSTMASTER parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: After the modification, the cluster will fail to be connected.
enable_gtm_free
Parameter description: Specifies whether the GTM-free mode is enabled. In large concurrency scenarios, the snapshots delivered by the GTM increase in number and size. The network between the GTM and the CN becomes the performance bottleneck. The GTM-free mode is used to eliminate the bottleneck. In this mode, the CN communicates with DNs instead of the GTM. The CN sends queries to each DN, which locally generates snapshots and XIDs, ensuring external write consistency but not external read consistency.

When the GTM-free mode is used, you are advised to set application_type to perfect_sharding_type so that you can find SQL statements that may cause data inconsistency. Otherwise, the system does not intercept statements that may cause data inconsistency.
Parameter type: Boolean.
Unit: none
Value range:
- on indicates that the GTM-free mode is enabled and the cluster ensures eventual read consistency.
- off indicates that the GTM-free mode is disabled.
Default value: off
Setting method: This is a POSTMASTER parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: Data inconsistency may occur in GTM-free mode.
enable_twophase_commit
Parameter description: Currently, the cloud database uses the GTM-free mode to solve the SDS replacement problem. To prevent unreliability caused by service abuse, the GUC parameter enable_twophase_commit is used to enable or disable distributed two-phase write transactions.
Parameter type: Boolean.
Unit: none
Value range:
- on indicates that distributed two-phase commit is allowed in the GTM-free mode.
- off indicates that distributed two-phase commit is not allowed in the GTM-free mode.
Default value: on
Setting method: This is a USERSET parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: Change the parameter value after fully understanding the parameter meaning and verifying it through testing.
application_type
Parameter description: valid only when enable_gtm_free is set to on. This parameter specifies the service type of a user.
Parameter type: enumerated type.
Unit: none
Value range:
- not_perfect_sharding_type indicates a service across nodes. If this value is used, statements across nodes can be executed.
- perfect_sharding_type indicates a service on a single node. If an SQL statement requires multiple nodes, an error is reported and the corresponding SQL statement is recorded in the system log. If this value is used, you can run the /*+ multinode */ hint command to allow SQL statements to be executed on multiple nodes. The multinode hint can be added after the select, insert, update, delete, and merge keywords.
Setting method: This parameter is a USERSET parameter and cannot be set using gs_guc. It can be set using either of the following methods:
- Use the gsql client to perform session-level configuration.
- When JDBC is used to connect to the database, set the ApplicationType parameter for the connection string.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: Change the parameter value after fully understanding the parameter meaning and verifying it through testing.
gtm_host2
Parameter description: Specifies the IP address of the GTM 2 if the standby GTM 2 is deployed. This parameter is visible only to the SYSADMIN user. The IP address can be an IPv4 or IPv6 address.
Parameter type: string.
Unit: none
Value range: a string
Default value: IP address of the GTM 2 if the GTM 2 is deployed. Otherwise, the value is "".
Setting method: This is a SIGHUP parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: Change the parameter value after fully understanding the parameter meaning and verifying it through testing.
gtm_host3
Parameter description: Specifies the IP address of the GTM 3 if the standby GTM 3 is deployed. This parameter is visible only to the SYSADMIN user. The IP address can be an IPv4 or IPv6 address.
Parameter type: string.
Unit: none
Value range: a string
Default value: IP address of the GTM 3 if the GTM 3 is deployed. Otherwise, the value is "".
Setting method: This is a SIGHUP parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: Change the parameter value after fully understanding the parameter meaning and verifying it through testing.
gtm_host4
Parameter description: Specifies the IP address of the GTM 4 if the standby GTM 4 is deployed. This parameter is visible only to the SYSADMIN user. The IP address can be an IPv4 or IPv6 address.
Parameter type: string.
Unit: none
Value range: a string
Default value: IP address of the GTM 4 if the GTM 4 is deployed. Otherwise, the value is "".
Setting method: This is a SIGHUP parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: Change the parameter value after fully understanding the parameter meaning and verifying it through testing.
gtm_host5
Parameter description: Specifies the IP address of the GTM 5 if the standby GTM 5 is deployed. This parameter is visible only to the SYSADMIN user. The IP address can be an IPv4 or IPv6 address.
Parameter type: string.
Unit: none
Value range: a string
Default value: IP address of the GTM 5 if the GTM 5 is deployed. Otherwise, the value is "".
Setting method: This is a SIGHUP parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: Change the parameter value after fully understanding the parameter meaning and verifying it through testing.
gtm_host6
Parameter description: Specifies the IP address of the GTM 6 if the standby GTM 6 is deployed. This parameter is visible only to the SYSADMIN user. The IP address can be an IPv4 or IPv6 address.
Parameter type: string.
Unit: none
Value range: a string
Default value: IP address of the GTM 6 if the GTM 6 is deployed. Otherwise, the value is "".
Setting method: This is a SIGHUP parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: Change the parameter value after fully understanding the parameter meaning and verifying it through testing.
gtm_host7
Parameter description: Specifies the IP address of the GTM 7 if the standby GTM 7 is deployed. This parameter is visible only to the SYSADMIN user. The IP address can be an IPv4 or IPv6 address.
Parameter type: string.
Unit: none
Value range: a string
Default value: IP address of the GTM 7 if the GTM 7 is deployed. Otherwise, the value is "".
Setting method: This is a SIGHUP parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: Change the parameter value after fully understanding the parameter meaning and verifying it through testing.
gtm_port2
Parameter description: Specifies the listening port of the standby GTM 2 if the standby GTM 2 is deployed. This parameter is visible only to the SYSADMIN user.
Parameter type: integer.
Unit: none
Value range: 1 to 65535
Default value: The value is specified during installation if the GTM 2 is deployed. Otherwise, the value is 6666.
Setting method: This is a POSTMASTER parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: If the port number is changed, the database communication will be affected.
gtm_port3
Parameter description: Specifies the listening port of the standby GTM 3 if the standby GTM 3 is deployed. This parameter is visible only to the SYSADMIN user.
Parameter type: integer.
Unit: none
Value range: 1 to 65535
Default value: The value is specified during installation if the GTM 3 is deployed. Otherwise, the value is 6666.
Setting method: This is a POSTMASTER parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: If the port number is changed, the database communication will be affected.
gtm_port4
Parameter description: Specifies the listening port of the standby GTM 4 if the standby GTM 4 is deployed. This parameter is visible only to the SYSADMIN user.
Parameter type: integer.
Unit: none
Value range: 1 to 65535
Default value: The value is specified during installation if the GTM 4 is deployed. Otherwise, the value is 6666.
Setting method: This is a POSTMASTER parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: If the port number is changed, the database communication will be affected.
gtm_port5
Parameter description: Specifies the listening port of the standby GTM 5 if the standby GTM 5 is deployed. This parameter is visible only to the SYSADMIN user.
Parameter type: integer.
Unit: none
Value range: 1 to 65535
Default value: The value is specified during installation if the GTM 5 is deployed. Otherwise, the value is 6666.
Setting method: This is a POSTMASTER parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: If the port number is changed, the database communication will be affected.
gtm_port6
Parameter description: Specifies the listening port of the standby GTM 6 if the standby GTM 6 is deployed. This parameter is visible only to the SYSADMIN user.
Parameter type: integer.
Unit: none
Value range: 1 to 65535
Default value: The value is specified during installation if the GTM 6 is deployed. Otherwise, the value is 6666.
Setting method: This is a POSTMASTER parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: If the port number is changed, the database communication will be affected.
gtm_port7
Parameter description: Specifies the listening port of the standby GTM 7 if the standby GTM 7 is deployed. This parameter is visible only to the SYSADMIN user.
Parameter type: integer.
Unit: none
Value range: 1 to 65535
Default value: The value is specified during installation if the GTM 7 is deployed. Otherwise, the value is 6666.
Setting method: This is a POSTMASTER parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: If the port number is changed, the database communication will be affected.
enable_defer_calculate_snapshot
Parameter description: Delays the calculation of xmin and oldestxmin of a snapshot. The calculation is triggered only after 1000 transactions are executed or the calculation interval is 1s.
Parameter type: Boolean.
Unit: none
Value range:
- on indicates that snapshots xmin and oldestxmin are calculated with a delay.
- off indicates that snapshots xmin and oldestxmin are calculated in real time.
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.
Risks and impacts of improper settings: If this parameter is set to on, the snapshot calculation overhead can be reduced in high load scenarios. However, oldestxmin is pushed slowly, affecting garbage tuple collection. If this parameter is set to off, xmin and oldestxmin can be pushed in real time, but the overhead for calculating snapshots increases.
seqscan_csn_cache_num
Parameter description: Specifies the size of the CSN cache. The cache is used only when the Seq Scan scans the heap table page through the MVCC snapshot to determine the visibility.
Parameter type: integer.
Unit: none
Value range: 0 to 1000. If this parameter is set to 0, the CSN cache mechanism is not used.
Default value: 100
Setting method: This is a SIGHUP parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: Change the parameter value after fully understanding the parameter meaning and verifying it through testing.
reject_gtm_address
Parameter description: Specifies the IP address of the GTM that is rejected for connection.
Parameter type: string.
Unit: none
Value range: The substrings are separated by commas (,). The format of each substring is IP[:port].

[:port] is optional.
Default value: ""
Setting method: This is a SIGHUP parameter. Set it based on instructions provided in Table 1.
Setting suggestion: This parameter is automatically set by the CM component in a specific process. Manual modification is not recommended.
Risks and impacts of improper settings: Improper settings may cause communication failures between the cluster and GTM, affecting cluster transactions.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot