YMatrix Database Cluster Category Parameters

This document describes the relevant parameters of the YMatrix database cluster category in the system configuration parameters.

Notes!
To ensure the stability and security of the system, please be sure to manually modify the relevant parameters**.


Cluster configuration parameters

enable_drop_matrixdb_extension


Whether to allow deletion of YMatrix extensions.

| Data Type | Default | Set Category | | --- | --- | | boolean | off | master; session; reload |

mx_create_table_default_segments


Specifies the Segment used to create the table.

| Data Type | Default | Set Category | | --- | --- | | string | | segments; session; reload; superuser |

mx_default_segment_set


Specifies the default Segment collection used to create the table.

| Data Type | Default | Set Category | | --- | --- | | string | | segments; session; reload; superuser |

mx_ha_provider


Set the provider of YMatrix high availability features.

  • If you use a graphical interface to deploy, YMatrix selects external by default; if you use the command line to deploy, fts by default.

| Data Type | Default Value | Value Range | Set Classification | | --- | --- | --- | | enum | external | fts / external | segments; system; restart |

mx_postmaster_pdeath_signal


Send a signal to postmaster about the death of its parent process.

| Data Type | Default Value | Value Range | Set Classification | | --- | --- | --- | | int | 0 | 0 ~ 64 | segments; system; restart |


Mirror configuration parameters

repl_catchup_within_range


For the YMatrix database master image, controls the update of active slave nodes.

  • If walsender has not processed WAL segment files exceed this value, the YMatrix database updates the active slave node.
  • If the number of segment files does not exceed this value, the YMatrix database blocks updates to allow walsender to process files. If all WAL segments have been processed, the active master is updated.

| Data Type | Default Value | Value Range | Set Classification | | --- | --- | --- | | int | 1 | 0 ~ INT_MAX/1073741824 | master; system; reload; superuser |

wait_for_replication_threshold


When YMatrix database segment mirroring is enabled, the maximum amount (KB) of the write-pre-log (WAL) is specified, which is a record written based on a Primary transaction before the record is written to the Mirror for replication.

  • By default, when a checkpoint appears or the wait_for_replication_threshold value is reached, the YMatrix database writes records to the mirror segment instance.
  • A value of 0 will disable the check of the number of records. Records are written to the mirror segment instance only after a checkpoint occurs.
  • If this value is set to 0, database performance issues may occur under heavy loads of long transactions that do not perform checkpoint operations.

| Data Type | Default Value | Value Range | Set Classification | | --- | --- | --- | | int | 1024 | 0 ~ INT_MAX/1024 | master; system; reload |


Interconnect configuration parameters

gp_interconnect_fc_method


Specifies the flow control method used for the default YMatrix database UDPIFC interconnect.

  • For capacity-based flow control, the transmitter does not send packets when the receiver has no capacity.
  • Loss-based flow control is based on capacity-based flow control and also adjusts the transmission speed based on packet loss.

| Data Type | Default Value | Value Range | Set Classification | | --- | --- | --- | | enum | loss | loss / capacity | master; session; reload |

gp_interconnect_proxy_addresses


When the server configuration parameter gp_interconnect_type is set to proxy, set the proxy port used by the YMatrix database. Otherwise, this parameter will be ignored.

  • When the gp_interconnect_type parameter is set to proxy, you must specify a proxy port in this format for Master, Standby, and all Segment node instances: <db_id>:<cont_id>:<seg_address>:<port>[, ... ].
  • For Master, Standby, and Segment, the first three fields db_id, cont_id and seg_address can be found in the gp_segment_configuration directory table. The fourth field port is the proxy port for YMatrix Master or Segment.
    • db_id is the dbid column in the directory table.
    • cont_id is the content column in the directory table.
    • seg_address is the IP address or host name corresponding to the tge address column in the directory table.
    • port is the TCP/IP port for the segment instance proxy you specified.
  • Note: If the Segment hostname is bound to a different IP address at runtime, you must run mxstop -u to reload the gp_interconnect_proxy_addresses value.
  • You must specify the value as a single quote string. This gpconfig command sets the value of gp_interconnect_proxy_addresses to a single quote string.
    gpconfig --skipvalidation -c gp_interconnect_proxy_addresses -v "'1:-1:192.168.180.50:35432,2:0:192.168.180.54:35000'"

    | Data Type | Default | Set Category | | --- | --- | | string | | segments; system; reload |

gp_interconnect_queue_depth


Sets the amount of interconnected data for each party of the queued YMatrix database on the receiver for the default UDPIFC (the data will be discarded when data is received but there is no space available for receiving the data, and the sender will need to resend it).

  • Increasing depth from its default value will cause the system to use more memory, but may improve performance.
  • It is reasonable to set this value between 1 and 10.
  • Queries with data skew may be better executed as queue depth increases.
  • Increasing this may fundamentally increase the amount of memory the system uses.

| Data Type | Default Value | Value Range | Set Classification | | --- | --- | --- | | int | 4 | 1 ~ 4096 | master; session; reload |

gp_interconnect_setup_timeout


Specifies the time in seconds to wait for the YMatrix database interconnect to complete the setup before the timeout.

| Data Type | Default Value | Value Range | Set Classification | | --- | --- | --- | | int | 7200 | 0 ~ 7200 | master; session; reload |

gp_interconnect_snd_queue_depth


Sets the amount of data for each party queued on the default UDPIFC interconnect on the sender.

  • Increasing depth from its default value will cause the system to use more memory, but may improve performance.
  • The reasonable value for this parameter is between 1 and 4.
  • Increasing this value may fundamentally increase the amount of memory used by the system.

| Data Type | Default Value | Value Range | Set Classification | | --- | --- | --- | | int | 2 | 1 ~ 4096 | master; session; reload |

gp_interconnect_transmit_timeout


Specifies the amount of time (in seconds) that the YMatrix database waits for the network transfer of interconnected traffic to complete before timeout.

| Data Type | Default Value | Value Range | Set Classification | | --- | --- | --- | | int | 3600 | 1 ~ 7200 | master; session; reload |

gp_interconnect_type


Set up the network protocol for the YMatrix database interconnect traffic.

  • udpifc specifies that UDP and traffic control are used to implement interconnect traffic and is the only supported value.
  • Use gp_interconnect_fc_method to specify the interconnect traffic control method.
  • Using tcp as the interconnect protocol, the YMatrix database has an upper limit of 1000 Segment instances - If the query workload involves complex multi-slice queries, the upper limit is less than 1000.

| Data Type | Default Value | Value Range | Set Classification | | --- | --- | --- | | enum | udpifc | udpifc / tcp | segments; system; restart |

gp_max_packet_size


Sets the tuple serialization block size for the YMatrix database interconnect.

| Data Type | Default Value | Value Range | Set Classification | | --- | --- | --- | | int | 8192 | 512 ~ 65507 | master; system; restart |

gp_segment_connect_timeout


The timeout (seconds) of the YMatrix interconnect attempts to connect to the Segment node instance over the network.

  • Controls the network connection timeout between Master and Primary, and the network connection timeout between Primary to Mirror replication process.

| Data Type | Default Value | Value Range | Set Classification | | --- | --- | --- | | int | 180 | 0 ~ INT_MAX | segments; system; reload |

mx_interconnect_compress


Compress the payload of the interconnect.

| Data Type | Default | Set Category | | --- | --- | | boolean | off | master; session; reload |

mx_generic_packet_rtt


Specifies the round trip time (RTT) of the underlying interconnect layer.

| Data Type | Default Value | Value Range | Set Classification | | --- | --- | --- | | int | 100 | 10 ~ 1000 | master; session; reload |


Failover configuration parameters (Failover)

gp_fts_probe_retries


If the probe request is not received after sending it, the [Replica Service] (/doc/5.1/faq/architecture_faq#replication) on each segment will try this parameter as many times on each segment.

| Data Type | Default Value | Value Range | Set Classification | | --- | --- | --- | | int | 30 | 0 ~ 100 | master; system; restart |

gp_fts_probe_interval


Specifies the polling interval in seconds for the Segment.

  • The replica service in each segment in the cluster will send a probe request to its postmaster process at least every time interval specified by this parameter.

| Data Type | Default Value | Value Range | Set Classification | | --- | --- | --- | | int | 60 | 10 ~ 3600 | master; system; restart |

gp_fts_probe_timeout


Specifies the timeout (in seconds) for sending probe requests allowed by [Replica Service] (/doc/5.1/faq/architecture_faq#replication) corresponding to each segment.

| Data Type | Default Value | Value Range | Set Classification | | --- | --- | --- | | int | 20 | 10 ~ 3600 | master; system; restart |


Scheduling configuration parameters (Dispatch)

gp_cached_segworkers_threshold


When you start a session using the YMatrix database and issue queries, the system creates a group of worker processes on each segment to complete the work. After the work is completed, the Segment worker process will be destroyed in addition to the number of caches set by this parameter.

  • Lower settings save system resources on the Segment host, but higher settings improve performance for advanced users who want to issue many complex queries continuously.

| Data Type | Default Value | Value Range | Set Classification | | --- | --- | --- | | int | 5 | 1 ~ INT_MAX | master; system; reload |

gp_set_proc_affinity


If enabled, when the YMatrix server process (postmaster) is started, it will be bound to a CPU.

| Data Type | Default | Set Category | | --- | --- | | boolean | off | master; system; reload |


Distributed Transaction Management Parameters

gp_max_local_distributed_cache


Sets the maximum number of distributed transaction log entries to cache in the backend process memory of the Segment instance to optimize backend visibility processing.

  • The log entry contains information about the status of the rows that the SQL statement is accessing.
  • This information is used to determine the rows visible to SQL transactions when multiple SQL statements are executed simultaneously in an MVCC environment.
  • Local cache of distributed transaction log entries can improve transaction processing speed by improving the performance of row visibility determination processes.
  • The default value is applicable to various SQL processing environments.

| Data Type | Default Value | Value Range | Set Classification | | --- | --- | --- | | int | 1024 | 0 ~ INT_MAX | segments; system; restart |

track_commit_timestamp


Records the transaction's commit time.

Data Type Default Set Category
boolean off segments; system; restart


Read-only parameters### data_directory


Specifies the directory used for data storage.

| Data Type | Default | Set Category | | --- | --- | | string | ConfigDir | read only |

gp_command_count


Displays the number of commands received by the master server from the client.

  • Note: A single SQL command may actually involve multiple commands internally, so for a single query, the counter may be increased by multiple. This counter is also shared by all Segment processes that process the command.

| Data Type | Default | Set Category | | --- | --- | | int | 0 | read only |

gp_contentid


The content ID of the server.

| Data Type | Default | Set Category | | --- | --- | | int | | read only |

gp_dbid


For Segment, the local dbid.

| Data Type | Default | Set Category | | --- | --- | | int | 1 | read only |

gp_role


The role of this server process.

  • Master is set to dispatch and Segment is set to execute.

| Data Type | Default Value | Value Range | Set Classification | | --- | --- | --- | | enum | | dispatch / execute / utility | read only |

gp_session_id


The ID number assigned by the system to the client session.

  • Counts start from 1 when the Master instance is first started.

| Data Type | Default Value | Value Range | Set Classification | | --- | --- | --- | | int | -1 | integer > 1 | read only |

gp_server_version


Reports the server's version number as a string.

  • Version modifier parameters may be appended to the numerical part of the version string, for example: 5.0.0 beta.
Data Type Settings Category
string (example: 5.0.0) read only

gp_server_version_num


Reports the server version number as an integer.

  • For each version, the number remains increasing and can be used for numerical comparisons.
  • The major version is expressed as is, the minor version and patch version are zero padded and always double digit wide.

| Data Type | Value Range | Set Classification | | --- | --- | | int | Mmmpp, where M is the main version, mm is the minor version with zero padding, and pp is the patch version with zero padding. Example: 50000 | read only |