Updated on 2024-10-14 GMT+08:00

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 parameter 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 parameter 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 parameter 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's connection pool and another CN/DN.

This parameter is a POSTMASTER parameter. Set it based on instructions provided in Table 2.

Value range: an integer ranging from 1 to 65535

Default value:

  • Independent deployment:

    32768 (60-core CPU/480 GB memory); 16384 (32-core CPU/256 GB memory); 8192 (16-core CPU/128 GB memory); 4096 (8-core CPU/64 GB memory); 2048 (4-core CPU/32 GB memory); 1000 (4-core CPU/16 GB memory)

persistent_datanode_connections

Parameter description: Specifies whether to release the connection for the current session.

This parameter 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. To fix this problem, the number of sessions must be less than or equal to max_active_statements.

Default value: off

max_coordinators

Parameter description: Specifies the maximum number of CNs in a cluster. If scale-out is required, ensure that the value of this parameter is greater than the number of CNs in the target cluster. Otherwise, the scale-out will fail.

This parameter is a POSTMASTER parameter. You are not advised to modify it. If you need to modify it, set it based on instructions provided in Table 2.

Value range: an integer ranging from 2 to 1024. The minimum value cannot be less than the actual number of CNs in the cluster.

Default value: 128

max_datanodes

Parameter description: Specifies the maximum number of DNs in a cluster. If scale-out is required, ensure that the value of this parameter is greater than the total number of DNs in the target cluster. Otherwise, the scale-out will fail.

This parameter is a POSTMASTER parameter. You are not advised to modify it. If you need to modify it, set it based on instructions provided in Table 2.

Value range: an integer ranging from 2 to 65535. The minimum value cannot be less than the actual number of DNs in the cluster.

Default value: 256

cache_connection

Parameter description: Specifies whether to reclaim the connections of a connection pool.

This parameter 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 reclaimed.
  • off indicates that the connections of a connection pool will not be reclaimed.

Default value: on

enable_force_reuse_connections

Parameter description: Specifies whether a session forcibly reuses a new connection.

This parameter 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 primary/standby switchover scenarios. If a service fails to connect to the primary server, it will retry by attempting to connect to the standby server. If the standby server 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 server.

This parameter 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 parameter 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 period of communication between each connection in a CN's connection pool and another CN/DN.

This parameter 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 period of connecting a CN's connection pool to another CN/DN in the same cluster.

This parameter 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 period 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 parameter 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