Compute
Elastic Cloud Server
Huawei Cloud Flexus
Bare Metal Server
Auto Scaling
Image Management Service
Dedicated Host
FunctionGraph
Cloud Phone Host
Huawei Cloud EulerOS
Networking
Virtual Private Cloud
Elastic IP
Elastic Load Balance
NAT Gateway
Direct Connect
Virtual Private Network
VPC Endpoint
Cloud Connect
Enterprise Router
Enterprise Switch
Global Accelerator
Management & Governance
Cloud Eye
Identity and Access Management
Cloud Trace Service
Resource Formation Service
Tag Management Service
Log Tank Service
Config
OneAccess
Resource Access Manager
Simple Message Notification
Application Performance Management
Application Operations Management
Organizations
Optimization Advisor
IAM Identity Center
Cloud Operations Center
Resource Governance Center
Migration
Server Migration Service
Object Storage Migration Service
Cloud Data Migration
Migration Center
Cloud Ecosystem
KooGallery
Partner Center
User Support
My Account
Billing Center
Cost Center
Resource Center
Enterprise Management
Service Tickets
HUAWEI CLOUD (International) FAQs
ICP Filing
Support Plans
My Credentials
Customer Operation Capabilities
Partner Support Plans
Professional Services
Analytics
MapReduce Service
Data Lake Insight
CloudTable Service
Cloud Search Service
Data Lake Visualization
Data Ingestion Service
GaussDB(DWS)
DataArts Studio
Data Lake Factory
DataArts Lake Formation
IoT
IoT Device Access
Others
Product Pricing Details
System Permissions
Console Quick Start
Common FAQs
Instructions for Associating with a HUAWEI CLOUD Partner
Message Center
Security & Compliance
Security Technologies and Applications
Web Application Firewall
Host Security Service
Cloud Firewall
SecMaster
Anti-DDoS Service
Data Encryption Workshop
Database Security Service
Cloud Bastion Host
Data Security Center
Cloud Certificate Manager
Edge Security
Managed Threat Detection
Blockchain
Blockchain Service
Web3 Node Engine Service
Media Services
Media Processing Center
Video On Demand
Live
SparkRTC
MetaStudio
Storage
Object Storage Service
Elastic Volume Service
Cloud Backup and Recovery
Storage Disaster Recovery Service
Scalable File Service Turbo
Scalable File Service
Volume Backup Service
Cloud Server Backup Service
Data Express Service
Dedicated Distributed Storage Service
Containers
Cloud Container Engine
SoftWare Repository for Container
Application Service Mesh
Ubiquitous Cloud Native Service
Cloud Container Instance
Databases
Relational Database Service
Document Database Service
Data Admin Service
Data Replication Service
GeminiDB
GaussDB
Distributed Database Middleware
Database and Application Migration UGO
TaurusDB
Middleware
Distributed Cache Service
API Gateway
Distributed Message Service for Kafka
Distributed Message Service for RabbitMQ
Distributed Message Service for RocketMQ
Cloud Service Engine
Multi-Site High Availability Service
EventGrid
Dedicated Cloud
Dedicated Computing Cluster
Business Applications
Workspace
ROMA Connect
Message & SMS
Domain Name Service
Edge Data Center Management
Meeting
AI
Face Recognition Service
Graph Engine Service
Content Moderation
Image Recognition
Optical Character Recognition
ModelArts
ImageSearch
Conversational Bot Service
Speech Interaction Service
Huawei HiLens
Video Intelligent Analysis Service
Developer Tools
SDK Developer Guide
API Request Signing Guide
Terraform
Koo Command Line Interface
Content Delivery & Edge Computing
Content Delivery Network
Intelligent EdgeFabric
CloudPond
Intelligent EdgeCloud
Solutions
SAP Cloud
High Performance Computing
Developer Services
ServiceStage
CodeArts
CodeArts PerfTest
CodeArts Req
CodeArts Pipeline
CodeArts Build
CodeArts Deploy
CodeArts Artifact
CodeArts TestPlan
CodeArts Check
CodeArts Repo
Cloud Application Engine
MacroVerse aPaaS
KooMessage
KooPhone
KooDrive

Connection Settings

Updated on 2024-05-07 GMT+08:00

This section describes parameters related to client-server connection modes.

light_comm

Parameter description: Specifies whether the server uses the lightweight communication mode.

This parameter specifies whether the server uses the communication mode based on lightweight locks and non-blocking sockets. This parameter is a POSTMASTER parameter. Set it based on instructions provided in Table 1.

Value range: Boolean

  • TRUE / ON: indicates that the lightweight communication mode is used.
  • FALSE / OFF: indicates that the lightweight communication mode is not used.

Default value: FALSE / OFF

listen_addresses

Parameter description: Specifies the TCP/IP address of the client for a server to listen on.

This parameter specifies the IP address used by the GaussDB server for listening, for example, IPv4. Multiple NICs may exist on the host and each NIC can be bound to multiple IP addresses. This parameter specifies the IP addresses to which GaussDB is bound. The client can use the IP address specified by this parameter to connect to GaussDB or send requests to GaussDB.

This is a SIGHUP parameter. Set it based on instructions provided in Table 1.

Value range:

  • Host name or IP address. Multiple values are separated with commas (,).
  • Asterisk (*) or 0.0.0.0, indicating that all IP addresses will be listened to, which is not recommended due to potential security risks. This parameter must be used together with valid addresses (for example, the local IP address). Otherwise, the build may fail. In primary/standby mode, if the value is set to \* or 0.0.0.0, the value of localport in the postgresql.conf file of the database on the primary node cannot be the value of dataPortBase + 1. Otherwise, the database cannot be started.
  • If the parameter value is invalid (for example, the parameter value contains invalid IP addresses or characters, is empty, or is listened repeatedly), the process fails to be started.

Default value: After the database instance is installed, the default value is configured according to the IP address of different instances in the public_cloud.conf configuration file. The default value for the DN instance is the IP address of the data.net NIC.

NOTE:
  • The public_cloud.conf file contains the following NIC information: mgr.net (management NIC), data.net (data NIC), and virtual.net (virtual NIC).
  • This parameter can be set in gs_guc reload mode. The GaussDB kernel dynamically listens to the IP address specified by this parameter based on the policy of listening to new IP addresses, keeping listening to duplicate IP addresses, and disabling listening to invalid IP addresses. If an invalid IP address exists (for example, the IP address is not configured on the local host, the IP address is invalid, or the IP address has been listened to), the kernel fails to listen to the IP address. In this case, the value of listen_addresses does not match the actual listening IP address.
  • If this parameter is set in gs_guc reload mode and all IP addresses in the parameter value are invalid, listening to new IP addresses fails and listening to all old IP addresses is canceled. If this parameter is left empty, new IP addresses are intercepted and old IP addresses are listened to.
  • If listen_addresses is configured in the process startup parameter, this parameter is forcibly set to the configured value and will not be modified by reload.
  • If the new parameter value is the same as the old parameter value, the listening action is not performed. Therefore, when the listen_addresses parameter is set and an invalid IP address exists in the list, the kernel fails to listen to the IP address. After the IP address becomes valid and the same parameter is set again, the kernel does not listen to the IP address because the two parameter values are the same. In this case, you need to run the gs_guc reload command to remove the IP address from the parameter value and add the IP address again.
  • After this parameter is refreshed in gs_guc reload mode, if an IP address does not need to be listened to, you need to execute the gs_validate_ext_listen_ip function to clear the connection. For details about the input parameters and execution, see the function description.
  • Do not use gs_guc to reload the value of listen_addresses on all DNs in -N all mode. This parameter can be set only on a single DN.
  • Dynamically modifying listen_addresses is a high-risk operation. If the configuration is incorrect, the database may fail to accept new connections, affecting services. Exercise caution when performing this operation.

local_bind_address

Parameter description: Specifies the host IP address bound to the current node for connecting to other nodes in the database.

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

Default value: After the database instance is installed, the default value is configured according to the IP address of different instances in the public_cloud.conf configuration file. The default value for the DN instance is the IP address of the data.net NIC.

NOTE:

The public_cloud.conf file contains the following NIC information: mgr.net (management NIC), data.net (data NIC), and virtual.net (virtual NIC).

port

Parameter description: Specifies the TCP port listened on by the GaussDB.

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

NOTE:

This parameter is specified in the configuration file during installation. Do not modify this parameter unless absolutely necessary. Otherwise, database communication will be affected.

Value range: an integer ranging from 1 to 65535

NOTE:
  • When setting the port number, ensure that the port number is not in use. When setting the port numbers of multiple instances, ensure that the port numbers do not conflict.
  • Ports 1 to 1023 are reserved for the operating system. Do not use them.
  • When the database instance is installed using the configuration file, pay attention to the ports reserved in the communication matrix in the configuration file. For example, the port specified by the value of dataPortBase plus 1 needs to be reserved for internal tools, and the port specified by the value of dataPortBase plus 6 needs to be reserved as the communication port of the flow engine message queue. (Due to specification changes, the current version no longer supports this feature. Do not use it.) Therefore, during database instance installation, the maximum port number is 65529 for DNs. Ensure that the port number does not conflict with each other.

Default value: 5432 (The actual value is specified in the configuration file during installation.)

max_connections

Parameter description: Specifies the maximum number of concurrent connections to the database. This parameter influences the concurrent processing capability of the database.

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

Value range: an integer. The minimum value is 10 (greater than max_wal_senders). The theoretical maximum value is 262143. The actual maximum value is a dynamic value, which is calculated using the formula: 262143 – job_queue_processesautovacuum_max_workersAUXILIARY_BACKENDSAV_LAUNCHER_PROCSmax_inner_tool_connectionsmax_concurrent_autonomous_transactionsmin(max(newValue/4,64),1024). The values of job_queue_processes, autovacuum_max_workers, max_inner_tool_connections, and max_concurrent_autonomous_transactions depend on the settings of the corresponding GUC parameters. AUXILIARY_BACKENDS indicates the number of reserved auxiliary threads, which is fixed to 20. AV_LAUNCHER_PROCS indicates the number of reserved autovacuum launcher threads, which is fixed to 2. In min(max(newValue/4,64),1024), newValue indicates the new value.

For different memory specifications, value range of this parameter in different instances is as follows:

Table 1 Value ranges of memory specifications for different instances

Memory Specifications

Value Range for DNs

< 32 GB

[10,100]

[32 GB,64 GB)

[10,200]

[64 GB,128 GB)

[10,2048]

[128 GB,256 GB)

[10,5000]

[256 GB,480 GB)

[10,11000]

[480 GB,512 GB)

[10,24000]

[512 GB,640 GB)

[10,25000]

[640 GB,768 GB)

[10,34000]

[768 GB,1024 GB)

[10,40000]

[1024 GB,1536 GB)

[10,55000]

[1536 GB,2048 GB)

[10,85000]

≥ 2048 GB

[10,110000]

Default value:

85000 (196-core CPU/1536 GB memory); 55000 (128-core CPU/1024 GB memory, 104-core CPU/1024 GB memory, 96-core CPU/1024 GB memory); 40000 (96-core CPU/768 GB memory); 34000 (80-core CPU/640 GB memory); 25000 (64-core CPU/512 GB memory); 24000 (60-core CPU/480 GB memory); 11000 (32-core CPU/256 GB memory); 5000 (16-core CPU/128 GB memory); 2048 (8-core CPU/64 GB memory); 100 (4-core CPU/32 GB memory, 4-core CPU/16 GB memory)

Setting suggestions:

Retain the default value of this parameter on the primary node of the databases.

Impact of incorrect configuration:

  • If the value of max_connections exceeds the maximum dynamic value, the node fails to be started and the following error message is displayed: "invalid value for parameter "max_connections"". Alternatively, the memory fails to be allocated during the node startup and the following error message is displayed: "Cannot allocate memory."
  • If only the value of max_connections is increased while the memory parameter is not adjusted in proportion according to the external egress specifications, when the service load is heavy, the memory may be insufficient, and the error message "memory is temporarily unavailable" is displayed.
NOTE:
  • If the number of connections of the administrator exceeds the value of max_connections, the administrator can still connect to the database after the connections are used up by common users. If the number of connections exceeds the value of sysadmin_reserved_connections, an error is reported. That is, the maximum number of connections of the administrator is equal to the value of max_connections + sysadmin_reserved_connections.
  • For common users, internal jobs use some connections. Therefore, the value of this parameter is slightly less than that of max_connections. The value depends on the number of internal connections.

max_inner_tool_connections

Parameter description: Specifies the maximum number of concurrent connections of a tool which is allowed to connect to the database. This parameter influences the concurrent connection capability of the GaussDB tool.

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

Value range: an integer ranging from 1 to MIN (which takes the smaller value between 262143 and max_connections). For details about how to calculate the value of max_connections, see the preceding description.

Default value:

50 (196-core CPU/1536 GB memory, 128-core CPU/1024 GB memory, 104-core CPU/1024 GB memory, 96-core CPU/1024 GB memory, 96-core CPU/768 GB memory, 80-core CPU/640 GB memory, 64-core CPU/512 GB memory, 60-core CPU/480 GB memory, 32-core CPU/256 GB memory, 16-core CPU/128 GB memory, 8-core CPU/64 GB memory, 4-core CPU/32 GB memory); 10 (4-core CPU/16 GB memory)

If the default value is greater than the maximum value supported by the kernel (determined when the gs_initdb command is executed), an error message is displayed.

Setting suggestions:

Retain the default value of this parameter on the primary node of the databases.

If this parameter is set to a large value, GaussDB requires more System V shared memory or semaphores, which may exceed the default maximum configuration of the OS. In this case, modify the value as needed.

sysadmin_reserved_connections

Parameter description: Specifies the minimum number of connections reserved for administrators. You are advised not to set this parameter to a large value. This parameter is used together with the max_connections parameter. The maximum number of connections of the administrator is equal to the value of max_connections + sysadmin_reserved_connections.

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

Value range: an integer ranging from 0 to MIN (which takes the smaller value between 262143 and max_connections). For details about how to calculate the value of max_connections, see the preceding description.

Default value: 3

Note: When the thread pool function is enabled, if the thread pool is fully occupied, a processing bottleneck occurs. As a result, connections reserved by the administrator cannot be established. In this case, you can use gsql to establish connections through the primary port number + 1 to clear useless sessions.

service_reserved_connections

Parameter description: Specifies the minimum number of connections reserved for background O&M users (with the persistence attribute). A large value is not recommended. This parameter is used together with max_connections. The maximum number of connections of an O&M user can be calculated as follows: max_connections + service_reserved_connections.

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

Value range: an integer ranging from 0 to 262143

Default value: 10

Note: If this parameter is set to a small value, the O&M user (with the persistence attribute) cannot connect to the database and jobs cannot be executed when the number of connections reaches the maximum (max_connections).

unix_socket_directory

Parameter description: Specifies the Unix domain socket directory for the GaussDB server to listen to connections from the client.

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

The parameter length limit varies by OS. If the length is exceeded, the error "Unix-domain socket path xxx is too long" will be reported.

Value range: a string

Default value: empty. The actual value is specified by the configuration file during installation.

unix_socket_group

Parameter description: Specifies the group of the Unix domain socket (the user of a socket is the user that starts the server). This parameter can work with unix_socket_permissions to control socket access.

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

Value range: a string. If this parameter is set to an empty string, the default group of the current user is used.

Default value: empty

unix_socket_permissions

Parameter description: Specifies access permissions on the Unix domain socket.

The Unix domain socket uses the usual permission set of the Unix file system. The value of this parameter should be a number (acceptable for the chmod and umask commands). If a user-defined octal format is used, the number must start with 0.

You are advised to set it to 0770 (only allowing access from users connecting to the database and users in the same group as them) or 0700 (only allowing access from users connecting to the database).

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

Value range: 0000 to 0777

Default value: 0700

NOTE:

In the Linux OS, a document has one document attribute and nine permission attributes, which consists of the read (r), write (w), and execute (x) permissions of the Owner, Group, and Others groups.

The r, w, and x permissions are represented by the following numbers:

r: 4

w: 2

x: 1

-: 0

The three attributes in a group are accumulative.

For example, -rwxrwx--- indicates the following permissions:

owner = rwx = 4+2+1 = 7

group = rwx = 4+2+1 = 7

others = --- = 0+0+0 = 0

The permission of the file is 0770.

application_name

Parameter description: Specifies the client name used in the current connection request.

This parameter is a USERSET parameter. Set it based on instructions provided in Table 1.

When a standby node requests to replicate logs on the primary node, if this parameter is not an empty string, it is used as the name of the streaming replication slot of the standby node on the primary node. In this case, if the length of this parameter exceeds 61 bytes, only the first 61 bytes are used as the streaming replication slot name.

Value range: a string

Default value: empty (The actual value is the name of the application connected to the backend.)

connection_info

Parameter description: Specifies the database connection information, including the driver type, driver version, driver deployment path, and process owner.

This parameter is a USERSET parameter used for O&M. You are advised not to change the parameter value.

Value range: a string

Default value: empty

NOTE:
  • An empty string indicates that the driver connected to the database does not support automatic setting of the connection_info parameter or the parameter is not set by users in applications.
  • The following is an example of the concatenated value of connection_info:
    1
    {"driver_name":"ODBC","driver_version": "(GaussDB Kernel 503.1.XXX build 290d125f) compiled at 2020-05-08 02:59:43 commit 2143 last mr 131 release","driver_path":"/usr/local/lib/psqlodbcw.so","os_user":"omm"}
    

    By default, driver_name and driver_version are displayed. The display of driver_path and os_user is controlled by users. For details, see section "Application Development Guide > Development Based on JDBC > Connecting to the Database" in Developer Guide and section "Application Development Guide > Development Based on ODBC > Configuring a Data Source in the Linux OS" in Developer Guide.

We use cookies to improve our site and your experience. By continuing to browse our site you accept our cookie policy. Find out more

Feedback

Feedback

Feedback

0/500

Selected Content

Submit selected content with the feedback