Connection Pool Parameters
When a connection pool is used to access the database, database connections are established and then stored in the memory as objects during system running. When you need to access the database, no new connection is established. Instead, an existing idle connection is selected from the connection pool. After you finish accessing the database, the database does not disable the connection but puts it back into the connection pool. The connection can be used for the next access request.
pooler_port
Parameter description: Specifies the O&M management port of internal tools, such as cm_agent and cm_ctl. This port is used by the initial user or system administrator to connect to the database through the client.
This is a POSTMASTER parameter. Set it based on instructions provided in Table 2.
Value range: the value of the GUC parameter port of a CN or DN plus 1
Default value: the default value of the GUC parameter port of a CN or DN plus 1. The default value of this parameter is 8001 for CNs and 40001 for DNs.
pooler_maximum_idle_time
Parameter description: Specifies the maximum amount of time that the connections can remain idle in a pool before being removed. After that, the automatic connection clearing mechanism is triggered to reduce the number of connections on each node to the value of minimum_pool_size.
This is a USERSET parameter. Set it based on instructions provided in Table 2.
Value range: an integer ranging from 0 to 2147483647. The smallest unit is s.
Default value: 10min (600 seconds)
minimum_pool_size
Parameter description: Specifies the minimum number of remaining connections in the pool on each node after the automatic connection clearing is triggered. If this parameter is set to 0, the automatic connection clearing is disabled.
This is a USERSET parameter. Set it based on instructions provided in Table 2.
Value range: an integer ranging from 1 to 65535
Default value: 50
max_pool_size
Parameter description: Specifies the maximum number of connections between a CN and another CN/DN in a connection pool. This parameter needs to be modified when the cluster scale changes, for example, nodes are added or deleted.
Parameter type: integer
Unit: none
Value range: 1 to 65535
Default value:
Setting method: This is a POSTMASTER parameter. Set it based on instructions provided in Table 2.
Setting suggestion: Set this parameter based on the default value of different instance specifications. The value of this parameter must be greater than the value of max_connections. During the adjustment, the connections consumed by internal threads must be reserved. When the number of concurrent services is large, the connections from the CN to other CNs/DNs in the connection pool are consumed. If this parameter is set to a small value, an error is reported when the number of connections reaches the upper limit. As a result, services fail. When a CN is started, it allocates memory in advance based on the parameter value. Therefore, if the parameter value increases, the system consumes more memory resources. However, in general, the impact on the CN memory is small.
persistent_datanode_connections
Parameter description: Specifies whether to release the connection for the current session.
This is a BACKEND parameter. Set it based on instructions provided in Table 2.
Value range: Boolean
- off indicates that the connection for the current session will be released.
- on indicates that the connection for the current session will not be released.
After this parameter is set to on, a session may hold a connection but does not run a query. As a result, other query requests fail to be connected.
Default value: off
max_coordinators
Parameter description: Specifies the maximum number of CNs in a cluster. This parameter may need to be modified when the cluster scale changes, for example, nodes are added or deleted. During scale-out, ensure that the value of this parameter is greater than the number of CNs in the target cluster. Otherwise, the scale-out will fail. If this parameter is set to a large value during scale-in, more memory resources are consumed when the CN is started. However, in general, the impact on the CN memory is small.
Parameter type: integer
Unit: none
Value range: 2 to 1024
Default value: 128
Setting method: This is a POSTMASTER parameter. You are advised not to modify it. If you need to modify it, set it based on instructions provided in Table 2.
Setting suggestion: Set this parameter based on the actual cluster specifications. If the value of this parameter is less than the number of CNs in the cluster, node creation will fail. When a CN is started, it allocates memory in advance based on the parameter value. Therefore, if the parameter value increases, the system consumes more memory resources. However, in general, the impact on the CN memory is small.
max_datanodes
Parameter description: Specifies the maximum number of DNs in a cluster. This parameter may need to be modified when the cluster scale changes, for example, nodes are added or deleted. During scale-out, ensure that the value of this parameter is greater than the total number of DN shards in the target cluster. Otherwise, the scale-out will fail. If this parameter is set to a large value during scale-in, more memory resources are consumed when the CN is started. However, in general, the impact on the CN memory is small.
Parameter type: integer
Unit: none
Value range: 2 to 65535
Default value: 256
Setting method: This is a POSTMASTER parameter. You are advised not to modify it. If you need to modify it, set it based on instructions provided in Table 2.
Setting suggestion: Set this parameter based on the actual cluster specifications. If the value of this parameter is less than the number of DNs in the cluster, node creation will fail. When a CN is started, it allocates memory in advance based on the parameter value. Therefore, if the parameter value increases, the system consumes more memory resources. However, in general, the impact on the CN memory is small.
cache_connection
Parameter description: Specifies whether to recycle the connections of a connection pool.
This is a SIGHUP parameter. Set it based on instructions provided in Table 2.
Value range: Boolean
- on indicates that the connections of a connection pool will be recycled.
- off indicates that the connections of a connection pool will not be recycled.
Default value: on
enable_force_reuse_connections
Parameter description: Specifies whether a session forcibly reuses a new connection.
This is a BACKEND parameter. Set it based on instructions provided in Table 2.
Value range: Boolean
- on indicates that the new connection is forcibly used.
- off indicates that the current connection is used.
Default value: off
pooler_connect_max_loops
Parameter description: Specifies whether to enable the connection retries to enhance stability of setting up connections in switchover scenarios. If a service fails to connect to the primary node, it will retry by attempting to connect to the standby node. If the standby node is successfully promoted to primary, the retry attempt will succeed. This parameter specifies the total number of retry attempts. If this parameter is set to 0, retries are disabled. The service only establishes a connection to the primary node.
This is a USERSET parameter. Set it based on instructions provided in Table 2.
Value range: an integer ranging from 0 to 20
Default value: 1
pooler_connect_interval_time
Parameter description: Specifies the interval between retries when pooler_connect_max_loops is set to a value greater than 1. You are advised to set this parameter to a value slightly greater than the time required for primary/standby switchover in the current cluster.
This is a USERSET parameter. Set it based on instructions provided in Table 2.
Value range: an integer ranging from 0 to 7200. The smallest unit is s.
Default value: 15s
pooler_timeout
Parameter description: Specifies the timeout interval of communication between each connection in a CN's connection pool and another CN/DN.
This is a SIGHUP parameter. Set it based on instructions provided in Table 2.
Value range: an integer ranging from 0 to 7200. The smallest unit is s.
Default value: 10min
pooler_connect_timeout
Parameter description: Specifies the timeout interval of connecting a CN's connection pool to another CN/DN in the same cluster.
This is a SIGHUP parameter. Set it based on instructions provided in Table 2.
Value range: an integer ranging from 0 to 7200. The smallest unit is s.
Default value: 1min
pooler_cancel_timeout
Parameter description: Specifies the timeout interval of canceling a connection by a CN's connection pool during error processing. If similar timeout occurs when an exception of the subtransaction or stored procedure is captured, the transaction containing the subtransaction or the stored procedure rolls back. If the source data from the COPY FROM operation is not consistent with that of the table structure in the target table, and the parameter value is not 0, an error is reported.
This is a SIGHUP parameter. Set it based on instructions provided in Table 2.
Value range: an integer ranging from 0 to 7200. The smallest unit is s. 0 (not recommended) indicates that the timeout is disabled.
Default value: 15s
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