Connection Parameter Reference
All connection properties of the info parameter are case-sensitive. Table 1 describes the common properties.
Property |
Description |
Value |
---|---|---|
PGDBNAME |
Specifies the database name. You do not need to set this parameter in the URL because it is automatically parsed from the .properties file. |
Property type: string |
PGHOST |
Specifies the IP address of the host. You do not need to set this parameter in the URL because it is automatically parsed from the .properties file. Both IPv4 and IPv6 addresses are supported. If multiple CNs are configured, use colons (:) to separate their IP addresses and port numbers, and use commas (,) to separate CNs. |
Property type: string |
PGPORT |
Specifies the port number of the host. You do not need to set this parameter in the URL because it is automatically parsed from the .properties file. |
Property type: integer |
user |
Specifies the database user who creates the connection. |
Property type: string |
password |
Specifies the password of the database user. |
Property type: string |
driverInfoMode |
Controls the output mode of the driver description information. |
Property type: string Value range: postgresql or gaussdb.
Default value: postgresql |
enable_ce |
Specifies the encrypted equality query capability. |
Property type: integer Value range:
Default value: No default value is provided, indicating that encrypted equality query is not supported. |
refreshClientEncryption |
Specifies whether the encrypted database supports cache update on the client. |
Property type: string Value range:
Default value: NULL |
loggerLevel |
Specifies the logging level. |
Property type: string Value range: OFF, INFO, DEBUG, and TRACE (case-insensitive).
Default value: No default value is provided. If this property is not set, the value INFO is used. |
loggerFile |
Specifies the log output path (directory and file name). Generally, the log directory and file name must be specified. If only the file name is specified and the directory is not specified, logs are generated in the client running program directory. If no path is configured or the configured path does not exist, log streams are output by default. This parameter has been deprecated and does not take effect. To use this parameter, you can configure it in the java.util.logging .properties file or system properties. |
Property type: string |
logger |
Specifies the log output framework used by the JDBC driver. The JDBC driver supports the log output framework used for interconnecting with user applications. Currently, only the Slf4j-API-based third-party log output framework is supported. For details, see Log Management. |
Property type: string Value range: Slf4JLogger and JdkLogger
|
allowEncodingChanges |
If this parameter is set to true, the character set type can be changed. This parameter is used together with characterEncoding to set the character set. The two parameters are separated by ampersands (&). Example: allowEncodingChanges=true&characterEncoding=UTF8. |
Property type: Boolean Value range:
Default value: false |
characterEncoding |
It must be used together with allowEncodingChanges. When allowEncodingChanges is set to false, characterEncoding can be set only to UTF8. When allowEncodingChanges is set to true, set characterEncoding as permitted. |
Property type: string Value range: UTF8, GBK, Latin1, and GB18030.
NOTE:
When the database whose character set is GB18030_2022 is connected, setting characterEncoding to GB18030_2022 does not take effect and UTF8 is used by default. You need to set characterEncoding to GB18030 so that the GB18030_2022 characters on the server can be properly parsed. Default value: UTF8 |
currentSchema |
Specifies the schema of the current connection. You need to specify a schema in search-path. If the schema name contains special characters except letters, digits, and underscores (_), you need to enclose the schema name in quotation marks. Note that the schema name is case-sensitive after quotation marks are added. If multiple schemas need to be configured, separate them with commas (,). Example: currentSchema=schema_a,"schema-b","schema/c" |
Property type: string Default value: If this parameter is not set, the default schema is the username used for the connection. |
loadBalanceHosts |
Specifies whether to enable the load balancing function. |
Property type: Boolean Value range:
Default value: false |
autoBalance |
Specifies a load balancing policy.
NOTICE:
|
Property type: string Value range:
Default value: false |
Obtains the cache validity period of the CNs. During connection establishment, the CN status in the database cluster is checked and is reliable within the period specified by refreshCNIpListTime. After the period expires, the status becomes invalid. The IP address list of available CNs is obtained again during the next connection establishment. |
Property type: integer Unit: s Value range: 1 to 9999 Default value: 10 Suggestion: Adjust the value based on service requirements and use it together with autoBalance. |
|
hostRecheckSeconds |
After JDBC attempts to connect to a host, the host status is saved: connection success or connection failure. This status is trusted within the period specified by hostRecheckSeconds. After the period expires, the status becomes invalid. |
Property type: integer Unit: s Value range: 0 to 2147483647. Default value: 10 |
ssl |
Specifies that the database is connected in SSL mode. The SSL options are NonValidatingFactory and certificate. |
Property type: Boolean Value range:
Default value: No default value is provided. If this property is not set, the value false is used. |
sslmode |
This parameter specifies the SSL authentication mode. |
Property type: string Value range: disable, allow, prefer, require, verify-ca, and verify-full.
Default value: No default value is provided. If this property is not set, the value require is used. |
sslcert |
Specifies the complete path of the certificate file. The certificate type is End Entity. |
Property type: string Default value: No default value is provided. If this property is not set, the root directory of the user is read. |
sslkey |
Specifies the complete path of the key file. You need to convert the key to the DER format before using it. openssl pkcs8 -topk8 -outform DER -in client.key -out client.key.pk8 -nocrypt |
Property type: string Default value: No default value is provided. If this property is not set, the root directory of the user is read. |
sslrootcert |
Specifies the name of the SSL root certificate. The root certificate type is CA. |
Property type: string Default value: No default value is provided. If this property is not set, the root directory of the user is read. |
sslpassword |
Specifies the SSL password, which is provided for ConsoleCallbackHandler. |
Property type: string |
sslpasswordcallback |
Specifies the class name of the SSL password provider. |
Property type: string Default value: com.huawei.opengauss.jdbc.ssl.jdbc4.LibPQFactory.ConsoleCallbackHandler |
sslfactory |
Specifies the class name used by SSLSocketFactory to establish an SSL connection. |
Property type: string Default value: No default value is provided. |
sslprivatekeyfactory |
Specifies the fully qualified name of the implementation class of the com.huawei.opengauss.jdbc.ssl.PrivateKeyFactory API that implements the private key decryption method. If this parameter is not specified, try the default JDK private key decryption algorithm. If the decryption fails, use com.huawei.opengauss.jdbc.ssl.BouncyCastlePrivateKeyFactory. You need to provide the bcpkix-jdk15on.jar package. The recommended version is 1.65 or later. |
Property type: string Default value: No default value is provided. If this property is not set, the system attempts to use the default JDK private key decryption algorithm for decryption. |
sslfactoryarg |
The value is an optional parameter of the constructor function of the sslfactory class. (This parameter is not recommended.) |
Property type: string Default value: No default value is provided. |
sslhostnameverifier |
Specifies the class name of the host name verifier. The API must implement javax.net.ssl.HostnameVerifier. The default value is org.postgresql.ssl.PGjdbcHostnameVerifier. |
Property type: string Default value: No default value is provided. If this property is not set, org.postgresql.ssl.PGjdbcHostnameVerifier is used. |
loginTimeout |
Specifies the waiting time for establishing the database connection. When multiple IP addresses are configured in the URL, if the time for obtaining the connection exceeds the value of this parameter, the connection fails and the subsequent IP addresses are not tried. The value of loginTimeout is related to connectTimeout and socketTimeoutInConnecting. The calculation formula is as follows: loginTimeout = (connectTimeout + Connection authentication time + Initialization statement execution time) x Number of nodes.
NOTICE:
|
Property type: integer Unit: s Value range: 0 to 2147483647. The value 0 indicates that the timeout mechanism does not take effect. Default value: 0 Suggestion: After this parameter is set, an asynchronous thread is started each time a connection is established. If there are a large number of connections, the pressure on the client may increase. You are advised to set it as follows: max(connectTimeout, socketTimeoutInConnecting) x Number of nodes. This prevents connection failures when the network is abnormal and the nth IP address is the IP address of the primary node. You can adjust it based on the actual service situation. |
Specifies the timeout interval for connecting to a server OS. If the time taken to connect to a server OS exceeds the value specified, the connection is interrupted. When multiple IP addresses are configured in the URL, this parameter indicates the timeout interval for connecting to a single IP address. |
Property type: integer Unit: s Value range: 0 to 2147483647. The value 0 indicates that the timeout mechanism does not take effect. Default value: 0 |
|
socketTimeout |
Specifies the timeout period for a socket read operation. If the time taken to read data streams from a server exceeds the value specified, the connection is closed. If this parameter is not set, the client waits for a long time when the database process is abnormal. You are advised to set this parameter based on the SQL execution time acceptable to services. |
Property type: integer Unit: s Value range: 0 to 2147483647. The value 0 indicates that the timeout mechanism does not take effect. Default value: 0 |
This parameter specifies the timeout value of the socket read operation during the connection establishment. If the time of reading data streams from the server exceeds the threshold, it attempts to search for the next node for connection. |
Property type: integer Unit: s Value range: 0 to 2147483647. The value 0 indicates that the timeout mechanism does not take effect. Default value: 5 |
|
statementTimeout |
Specifies the timeout interval for executing a statement in a connection. If the execution time of a statement exceeds this value, the statement execution is canceled. |
Property type: integer Unit: ms Value range: 0 to 2147483647. The value 0 indicates that the timeout mechanism does not take effect. Default value: 0 |
cancelSignalTimeout |
Controls "connect timeout" and "socket timeout" of a cancel command, which may cause blocking. If the cancel command does not respond within the specified time, the connection is interrupted to reduce the occupation of client resources. |
Property type: integer Unit: s Value range: 0 to 2147483647. The value 0 indicates that the timeout mechanism does not take effect. Default value: 10 |
tcpKeepAlive |
Specifies whether to enable TCP keepalive detection. |
Property type: Boolean Value range:
Default value: false |
logUnclosedConnections |
The client may leak a connection object because it does not call the close() method to close the connection object. Such object will be recycled and finalized using the finalize() method. |
Property type: Boolean Value range:
Default value: false |
assumeMinServerVersion |
Specifies the version of the server to be connected. If the value of assumeMinServerVersion is greater than or equal to 9.0, the number of packets to be sent are reduced during connection establishment. The client does not send a request to set the floating point to 3 (that is, retain the original floating point 2). |
Property type: string Default value: No default value is provided. |
ApplicationName |
Specifies the name of the JDBC driver that is being connected. You can query the PGXC_STAT_ACTIVITY system view on CN to view the information about the client that is being connected. The application_name field indicates the JDBC driver name. |
Property type: string Default value: PostgreSQL JDBC Driver |
connectionExtraInfo |
Specifies whether the driver reports the driver deployment path, process owner, and URL connection configuration information to the database. |
Property type: Boolean Value range:
Default value: false |
autosave |
Specifies the action that the driver should perform upon a query failure. |
Property type: string Value range: always, never, and conservative.
Default value: never |
protocolVersion |
Specifies the connection protocol version. |
Property type: integer Value range: 1 and 3.
Default value: No default value is provided. If this property is not set, the value 3 is used. |
prepareThreshold |
Specifies the number of times that the PreparedStatement object is executed before the parsed statement on the server is used.
NOTE:
You are advised not to use JDBC and prepareStatement to execute password-related statements (for example, CREATE USER user_name WITH PASSWORD '********'). This is because when the number of execution times reaches the value specified by prepareThreshold, the database caches SQL statements but does not cache the passwords for security purposes. When the prepareStatement is executed again, error message "Password must contain at least 8 characters" will be displayed. |
Property type: integer Value range: 0 to 2147483647. Default value: 5. The default value indicates that when the same PreparedStatement object is executed for five or more times, the parse message is not sent to the server to parse the statement. Instead, the statement that has been parsed on the server is used. |
preparedStatementCacheQueries |
Specifies the maximum number of queries generated by caching PreparedStatement objects in each connection. |
Property type: integer Value range: 0 to 2147483647. The value 0 indicates that the cache function is disabled. Default value: 256. If more than 256 different queries are used in the prepareStatement() call, the least recently used query cache will be discarded. Suggestion: Set the value based on service requirements. This parameter is used together with prepareThreshold. |
preparedStatementCacheSizeMiB |
Specifies the maximum size of queries generated by caching PreparedStatement objects in each connection. |
Property type: integer Unit: MB Value range: 0 to 2147483647. The value 0 indicates that the cache function is disabled. Default value: 5. If the size of the cached queries exceeds 5 MB, the least recently used query cache will be discarded. |
databaseMetadataCacheFields |
Specifies the maximum number of columns that can be cached in each connection. |
Property type: integer Value range: 0 to 2147483647. The value 0 indicates that the cache function is disabled. Default value: 65536 |
databaseMetadataCacheFieldsMiB |
Specifies the maximum size of columns that can be cached in each connection. |
Property type: integer Unit: MB Value range: 0 to 2147483647. The value 0 indicates that the cache function is disabled. Default value: 5 |
stringtype |
Specifies the type of the parameter transferred to the database when the java.sql.PreparedStatement#setString method is called. |
Property type: string Value range: unspecified and varchar.
Default value: varchar |
batchMode |
Specifies whether to use the batch mode.
NOTE:
If batchMode is set to on, the data type of each column is the same as that specified by the first data record. If the data types are mixed, an error may be reported or the inserted data may be abnormal. |
Property type: string Value range:
Default value: on Suggestion: If the service framework (such as hibernate) checks the return value during batch update, you can set this parameter to solve the problem. |
fetchsize |
Specifies the default fetchsize for statements in the created connection. Specifies the number of rows fetched from ResultSet each time. It has the same function as defaultRowFetchSize. If fetchsize and defaultRowFetchSize are set at the same time, fetchsize prevails. |
Property type: integer Value range: 0 to 2147483647. Default value: 0. It indicates that all results are obtained from the database at a time. Suggestion: You are advised to set this parameter based on the amount of data queried by services and the memory of the client. When setting fetchsize, disable automatic commit (set autocommit to false). Otherwise, the setting of fetchsize does not take effect. |
defaultRowFetchSize |
Specifies the number of rows fetched from ResultSet each time. Limiting the number of rows read each time in a database access request can avoid unnecessary memory consumption, thereby avoiding the out of memory exception. |
Property type: integer Value range: 0 to 2147483647. Default value: 0. It indicates that all results are obtained from the database at a time. |
reWriteBatchedInserts |
Specifies whether to rewrite SQL statements during batch insertion. When this parameter is used, batchMode must be set to off. |
Property type: Boolean Value range:
Default value: false |
unknownLength |
Specifies the length of some GaussDB types (such as TEXT) whose length is unknown and not defined when they are returned by functions such as ResultSetMetaData.getColumnDisplaySize and ResultSetMetaData.getPrecision. |
Property type: integer Value range: 0 to 2147483647. Default value: 2147483647 |
binaryTransfer |
Specifies whether data is sent and received in binary format. |
Property type: Boolean Value range:
Default value: false |
binaryTransferEnable |
Specifies types for which binary transmission is enabled. Types are separated by commas (,), for example, binaryTransferEnable=Integer4_ARRAY,Integer8_ARRAY. Select either the name or OID. For example, if the name is BLOB and the OID is 88, set binaryTransferEnable to BLOB or 88. |
Property type: string Default value: No default value is provided. |
binaryTransferDisable |
Specifies types for which binary transmission is disabled. Use commas (,) to separate names or OIDs. If binaryTransferDisable and binaryTransferEnable have the same value, the disabling function is used. |
Property type: string Default value: No default value is provided. |
blobMode |
Sets the setBinaryStream() method to assign values to different types of data. You are advised to set this parameter to on for systems migrated from ORA and MySQL and to off for systems migrated from PG. |
Property type: string Value range:
Default value: on |
socketFactory |
Specifies the name of the class used to create a socket connection with the server. This class must implement the javax.net.SocketFactory API and define a constructor with no parameter or a single string parameter. |
Property type: string |
socketFactoryArg |
The value is an optional parameter of the constructor function of the socketFactory class and is not recommended. |
Property type: string |
receiveBufferSize |
Sets SO_RCVBUF on a connection stream. |
Property type: integer Unit: byte Value range: –1 to 2147483647 Default value: –1. It indicates that the buffer size is not set. |
sendBufferSize |
Sets SO_SNDBUF on a connection stream. |
Property type: integer Unit: byte Value range: –1 to 2147483647 Default value: –1. It indicates that the buffer size is not set. |
preferQueryMode |
Specifies the query mode. |
Property type: string Value range: simple, extended, extendedForPrepared, and extendedCacheEverything.
Default value: extended |
ApplicationType |
Sets whether to enable distributed write and query. This parameter is valid only when the database is in the GTM-free mode. |
Property type: string Value range: not_perfect_sharding_type and perfect_sharding_type
Default value: not_perfect_sharding_type |
priorityServers |
Specifies that the first n nodes configured in the URL are preferentially connected as the primary cluster. It is used in streaming DR scenarios. Example: jdbc:postgresql://host1:port1,host2:port2,host3:port3,host4:port4/database?priorityServers=2. That is, host1 and host2 are primary cluster nodes, and host3 and host4 are standby cluster nodes for DR. |
Property type: integer Value range: a number greater than 0 and less than the number of CNs configured in the URL. Default value: NULL |
usingEip |
Specifies whether to use an elastic IP address to implement load balancing.
NOTICE:
If usingEip is set to true, the hosts in the URL must use elastic IP addresses. If usingEip is set to false, the hosts in the URL must use data IP addresses. Otherwise, the priorityn load balancing policy will become invalid. |
Property type: Boolean Value range:
Default value: true |
traceInterfaceClass |
Specifies the fully qualified name of the implementation class of the org.postgresql.log.Tracer API that implements the method for obtaining traceId. |
Property type: string Default value: NULL |
use_boolean |
Sets the OID type bound to the setBoolean() method in extended mode. |
Property type: Boolean Value range:
Default value: false |
allowReadOnly |
Specifies whether to enable the read-only mode for a connection. |
Property type: Boolean Value range:
Default value: true |
TLSCiphersSupperted |
Specifies the supported TLS cipher suite. |
Property type: string Default value: TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 |
stripTrailingZeros |
This parameter specifies whether to remove trailing zeros after the decimal point of the numeric type. It is valid only for ResultSet.getObject(int columnIndex). |
Property type: Boolean Value range:
Default value: false |
enableTimeZone |
Specifies whether to enable the time zone setting on the client. |
Property type: Boolean Value range:
Default value: true |
enableStandbyRead |
Specifies whether to enable the read mode of the standby node. |
Property type: Boolean Value range:
Default value: false |
oracleCompatible |
This is used to set the ORA-compatible features of driver APIs. |
Property type: string
Value range:
Default value: false |
printSqlInLog |
Specifies whether to output SQL statements in exception information or logs. |
Property type: Boolean Value range:
Default value: true |
setFloat |
Specifies whether the OID transferred to the kernel is an OID of float4 when setFloat is called or setObject is set to float. |
Property type: Boolean Value range: true: The OID transferred to the kernel is of the float4 type. false: The OID transferred to the kernel is of the float8 type. Default value: false |
The JDBC driver can run properly after DDL operations are performed to change the table structure.
jdbc.version_num is used only to transfer the JDBC version number to the kernel during connection establishment. Do not use it for other purposes. jdbc.version_num is supported in 503.1 and later versions. (The jdbc.version parameter was used to implement this function and will be deprecated in later versions.) The usage rules of jdbc.version_num are as follows:
jdbc.version_num |
Version |
Range |
Usage Rule |
Kernel Judgment Rule |
Remarks |
---|---|---|---|---|---|
502xx |
505.2 |
50200-50299 |
The minimum available value must be used in the version. |
Version number ≥ 502xx (latest value) |
Related compatibility changes must be incorporated into branches of later versions. |
501xx |
505.1 |
50100-50199 |
The minimum available value must be used in the version. |
Version number ≥ 501xx (latest value) |
Related compatibility changes must be incorporated into branches of later versions. |
500xx |
505.0 |
50000-50099 |
The minimum available value must be used in the version. |
Version number ≥ 500xx (latest value) |
Related compatibility changes must be incorporated into branches of later versions. |
301xx |
503.1 |
30100-30199 |
The minimum available value must be used in the version. |
Version number ≥ 301xx (latest value) |
Related compatibility changes must be incorporated into branches of later versions. |
300xx |
503.0 |
30000-30099 |
The minimum available value must be used in the version. |
Version number ≥ 300xx (latest value) |
Related compatibility changes must be incorporated into branches of later versions. |
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