YMatrix Database Cluster Category Parameters

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

Note!
To ensure system stability and security, manually modifying these parameters should be done with caution.


Cluster Configuration Parameters

enable_drop_matrixdb_extension


Determines whether dropping the YMatrix extension is allowed.

Data Type Default Value Setting Scope
boolean off master; session; reload

mx_create_table_default_segments


Specifies the Segment used when creating a table.

Data Type Default Value Setting Scope
string segments; session; reload; superuser

mx_default_segment_set


Specifies the default Segment set used when creating a table.

Data Type Default Value Setting Scope
string segments; session; reload; superuser

mx_ha_provider


Sets the provider for YMatrix high availability features.

  • If you deploy using a graphical interface, YMatrix defaults to external; if deploying via command line, it defaults to fts.
Data Type Default Value Valid Values Setting Scope
enum external fts / external segments; system; restart

mx_postmaster_pdeath_signal


Signal sent to postmaster upon death of its parent process.

Data Type Default Value Valid Range Setting Scope
int 0 0 ~ 64 segments; system; restart


Mirror Configuration Parameters

repl_catchup_within_range


Controls updates to active standby segments in YMatrix primary-mirror replication.

  • If the number of WAL segment files not yet processed by walsender exceeds this value, YMatrix updates the active standby.
  • If the number of files does not exceed this value, YMatrix blocks the update to allow walsender time to process the files. If all WAL segments are processed, the active primary is updated.
Data Type Default Value Valid Range Setting Scope
int 1 0 ~ INT_MAX/1073741824 master; system; reload; superuser

wait_for_replication_threshold


When segment mirroring is enabled, specifies the maximum amount of Write-Ahead Logging (WAL) data (in KB) that can be written by a Primary transaction before being flushed to the Mirror for replication.

  • By default, YMatrix writes records to mirror segment instances either at checkpoint or when this threshold is reached.
  • A value of 0 disables checking based on record count. Records are only written after a checkpoint occurs.
  • Setting this value to 0 may lead to performance issues under heavy workloads involving long-running transactions without checkpoints.
Data Type Default Value Valid Range Setting Scope
int 1024 0 ~ INT_MAX/1024 master; system; reload


Interconnect Configuration Parameters

gp_interconnect_fc_method


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

  • With capacity-based flow control, the sender stops transmitting when the receiver has no buffer capacity.
  • Loss-based flow control builds on capacity-based control and also adjusts transmission speed based on packet loss.
Data Type Default Value Valid Values Setting Scope
enum loss loss / capacity master; session; reload

gp_interconnect_proxy_addresses


Specifies proxy ports used by YMatrix when server parameter gp_interconnect_type is set to proxy. Otherwise, this parameter is ignored.

  • When gp_interconnect_type is set to proxy, you must specify a proxy port for each Master, Standby, and all Segment instances in the format: <db_id>:<cont_id>:<seg_address>:<port>[, ... ].
  • For Master, Standby, and Segments, the first three fields — db_id, cont_id, and seg_address — can be found in the gp_segment_configuration catalog table. The fourth field, port, is the TCP/IP port for the proxy of the YMatrix Master or Segment instance.
    • db_id corresponds to the dbid column in the catalog table.
    • cont_id corresponds to the content column.
    • seg_address is the IP address or hostname from the address column in the catalog table.
    • port is the TCP/IP port assigned for the segment instance proxy.
  • Note: If a Segment host name resolves to a different IP address at runtime, run mxstop -u to reload the gp_interconnect_proxy_addresses values.
  • This value must be specified as a single-quoted string. Use the following gpconfig command to set gp_interconnect_proxy_addresses as a quoted 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 Value Setting Scope
string segments; system; reload

gp_interconnect_queue_depth


Sets the depth of queued interconnect data per peer on the receiver side for the default UDPIFC (data is dropped if no buffer space is available, requiring retransmission).

  • Increasing this value beyond the default uses more system memory but may improve performance.
  • Reasonable values range between 1 and 10.
  • Queries with data skew may perform better with increased queue depth.
  • Increasing this value significantly increases overall memory usage.
Data Type Default Value Valid Range Setting Scope
int 4 1 ~ 4096 master; session; reload

gp_interconnect_setup_timeout


Specifies the time (in seconds) YMatrix waits for interconnect setup to complete before timing out.

Data Type Default Value Valid Range Setting Scope
int 7200 0 ~ 7200 master; session; reload

gp_interconnect_snd_queue_depth


Sets the depth of queued data per peer on the sender side for the default UDPIFC interconnect.

  • Increasing this value beyond the default uses more system memory but may improve performance.
  • Reasonable values lie between 1 and 4.
  • Increasing this value may significantly increase total memory usage.
Data Type Default Value Valid Range Setting Scope
int 2 1 ~ 4096 master; session; reload

gp_interconnect_transmit_timeout


Specifies the time (in seconds) YMatrix waits for network transmission of interconnect traffic before timing out.

Data Type Default Value Valid Range Setting Scope
int 3600 1 ~ 7200 master; session; reload

gp_interconnect_type


Sets the network protocol used for YMatrix interconnect traffic.

  • udpifc specifies UDP with flow control and is the only supported value.
  • Use gp_interconnect_fc_method to specify the interconnect flow control method.
  • Using tcp as the interconnect protocol limits YMatrix to 1000 Segment instances — fewer than 1000 if query workloads involve complex multi-slice queries.
Data Type Default Value Valid Values Setting Scope
enum udpifc udpifc / tcp segments; system; restart

gp_max_packet_size


Sets the tuple serialization block size for the YMatrix interconnect.

Data Type Default Value Valid Range Setting Scope
int 8192 512 ~ 65507 master; system; restart

gp_segment_connect_timeout


Timeout (in seconds) for YMatrix interconnect attempts to connect over the network to a Segment instance.

  • Controls network connection timeouts between Master and Primary, and between Primary and Mirror during replication.
Data Type Default Value Valid Range Setting Scope
int 180 0 ~ INT_MAX segments; system; reload

mx_interconnect_compress


Enables compression of interconnect payload.

Data Type Default Value Setting Scope
boolean off master; session; reload

mx_generic_packet_rtt


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

Data Type Default Value Valid Range Setting Scope
int 100 10 ~ 1000 master; session; reload


Failover Configuration Parameters

gp_fts_probe_retries


Number of times the replication agent on each Segment retries sending a probe request if no response is received.

Data Type Default Value Valid Range Setting Scope
int 30 0 ~ 100 master; system; restart

gp_fts_probe_interval


Interval (in seconds) between probe messages sent by the replication agent on each Segment.

  • Each replication agent sends a probe message to its postmaster at least once every interval specified by this parameter.
Data Type Default Value Valid Range Setting Scope
int 60 10 ~ 3600 master; system; restart

gp_fts_probe_timeout


Timeout (in seconds) for probe requests sent by the replication agent on each Segment.

Data Type Default Value Valid Range Setting Scope
int 20 10 ~ 3600 master; system; restart


Dispatch Configuration Parameters

gp_cached_segworkers_threshold


Number of idle Segment worker processes retained in cache after query execution. All others are destroyed.

  • Lower values conserve system resources on Segment hosts. Higher values may improve performance for advanced users issuing many consecutive complex queries.
Data Type Default Value Valid Range Setting Scope
int 5 1 ~ INT_MAX master; system; reload

gp_set_proc_affinity


When enabled, binds YMatrix server processes (postmaster) to specific CPUs at startup.

Data Type Default Value Setting Scope
boolean off master; system; reload


Distributed Transaction Management Parameters

gp_max_local_distributed_cache


Maximum number of distributed transaction log entries cached in backend process memory on a Segment instance to optimize visibility processing.

  • Log entries contain row state information accessed by SQL statements.
  • This information determines visible rows for SQL transactions executing concurrently in an MVCC environment.
  • Caching improves transaction processing speed by optimizing row visibility checks.
  • The default value suits most SQL processing environments.
Data Type Default Value Valid Range Setting Scope
int 1024 0 ~ INT_MAX segments; system; restart

track_commit_timestamp


Enables recording of transaction commit timestamps.

Data Type Default Value Setting Scope
boolean off segments; system; restart


Read-Only Parameters

data_directory


Directory used for data storage.

Data Type Default Value Setting Scope
string ConfigDir read only

gp_command_count


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

  • Note: A single SQL command may internally generate multiple commands, so the counter may increment multiple times per query. This counter is shared across all Segment processes handling the command.
Data Type Default Value Setting Scope
int 0 read only

gp_contentid


Content ID of the server.

Data Type Default Value Setting Scope
int read only

gp_dbid


Local dbid for a Segment.

Data Type Default Value Setting Scope
int 1 read only

gp_role


Role of the server process.

  • Set to dispatch on Master, execute on Segment.
Data Type Default Value Valid Values Setting Scope
enum dispatch / execute / utility read only

gp_session_id


Session ID assigned by the system to a client session.

  • Starts counting from 1 when the Master instance is first started.
Data Type Default Value Valid Range Setting Scope
int -1 integer > 1 read only

gp_server_version


Reports the server version number as a string.

  • Version modifiers may be appended to the numeric part, e.g., "5.0.0 beta".
Data Type Setting Scope
string (e.g., 5.0.0) read only

gp_server_version_num


Reports the server version number as an integer.

  • This number always increases with each release and supports numeric comparison.
  • Major versions are represented directly; minor and patch versions are zero-padded to two digits.
Data Type Valid Range Setting Scope
int Mmmpp, where M = major, mm = zero-padded minor, pp = zero-padded patch. Example: 50000 read only