Updated on 2025-03-13 GMT+08:00

Connection Parameter Reference

All connection properties of the info parameter are case-sensitive. Table 1 describes the common properties.

Table 1 Connection properties of the info parameter

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.

  • postgresql: The driver description related to PostgreSQL is displayed.
  • gaussdb: The driver description related to GaussDB is displayed.

Default value: postgresql

enable_ce

Specifies the encrypted equality query capability.

Property type: integer

Value range:

  • 1: JDBC supports the basic capability of encrypted equality query.
  • Other values: The basic capability of encrypted equality query is not supported.

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:

  • The value 1 or NULL indicates that the encrypted database supports cache update on the client.
  • Other character strings indicate that the encrypted database does not support cache update on the client.

Default value: NULL

loggerLevel

Specifies the logging level.

Property type: string

Value range: OFF, INFO, DEBUG, and TRACE (case-insensitive).

  • OFF: The logging function is disabled.
  • INFO, DEBUG, and TRACE logs record information of different levels.

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

  • If it is left empty, the JDBC driver uses JdkLogger.
  • The third-party log framework based on Slf4j-API is used.

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:

  • true: The character set type can be changed.
  • false: The character set type cannot be changed.

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:

  • true: The shuffle algorithm is used to randomly select a host from the candidates to establish a connection.
  • false: Multiple hosts specified in the URL are connected in sequence.

Default value: false

autoBalance

Specifies a load balancing policy.

NOTICE:
  • Load balancing is based on the connection level rather than the transaction level. If the connection is persistent and the load on the connection is unbalanced, the load on the CN may be unbalanced.
  • This parameter can be used only in distributed scenarios and cannot be used in centralized scenarios.
  • If the load balancing function is enabled when the DR cluster is connected, query requests are sent to the primary cluster. As a result, the query performance is affected.
  • When load balancing is enabled, the floating IP address or data IP address can be configured in the URL. If the floating IP address is configured, the system obtains the corresponding data IP address based on the floating IP address and performs load balancing based on the obtained data IP address. Therefore, when configuring the floating IP address or data IP address in the URL, ensure that the network connection of the data IP address is normal. Otherwise, the load balancing function is abnormal.

Property type: string

Value range:

  • If this parameter is set to true, balance, or roundrobin, the JDBC load balancing function is enabled to balance multiple connections of an application to each CN available in the database cluster.

    Example:

    jdbc:opengauss://host1:port1,host2:port2/database?autoBalance=true

    JDBC periodically updates the list of available CNs in the entire cluster (data IP addresses of hosts in the CN list). The update interval can be configured using the refreshCNIpListTime parameter. The default value is 10 seconds. For example, the obtained list is as follows:

    host1:port1,host2:port2,host3:port3,host4:port4

    When load balancing is enabled, host1 and host2 ensure high availability only when they are connected for the first time. Then, the driver selects available CNs from host1, host2, host3, and host4 in sequence to refresh the available CN list. New connections will use the round robin algorithm to select CNs from host1, host2, host3, and host4 for connection.

  • If this parameter is set to priorityn, the JDBC-based load balancing function is enabled. Multiple connections of an application are balanced to the first n available CNs configured in the URL. When the first n CNs are unavailable, connections are randomly allocated to other available CNs in the database cluster. n is a positive integer and is less than the number of CNs configured in the URL.

    Example:

    jdbc:opengauss://host1:port1,host2:port2,host3:port3,host4:port4/database?autoBalance=priority2

    JDBC periodically obtains the list of all available CNs in the entire cluster.

    host1:port1,host2:port2,host3:port3,host4:port4,host5:port5,host6:port6

    host1 and host2 are in AZ1, and host3 and host4 are in AZ2. The driver preferentially selects host1 and host2 for load balancing. If both host1 and host2 are unavailable, the driver randomly selects a CN from host3, host4, host5, and host6 for connection.

  • If this parameter is set to shuffle, JDBC random load balancing is enabled to randomly and evenly distribute multiple connections of the application to available CNs in the database cluster.

    Example:

    jdbc:opengauss://host1:port1,host2:port2,host3:port3/database?autoBalance=shuffle

    JDBC periodically obtains the list of all available CNs in the entire cluster.

    host1:port1,host2:port2,host3:port3,host4:port4

    host1, host2, and host3 ensure high availability only when they are connected for the first time. Later, they use the shuffle algorithm to randomly select a CN from the refreshed CN list for connection.

  • If this parameter is set to specified, the JDBC load balancing function is enabled and connections are established only on nodes specified in the user URL.

    Example:

    jdbc:opengauss://host1:port1,host2:port2,host3:port3,host4:port4/database?autoBalance=specified&priorityServers=2

    JDBC identifies host1 and host2 as the nodes for establishing connections in the primary cluster, and identifies host3 and host4 as the nodes for establishing connections in the standby cluster. When a connection is set up, JDBC evenly distributes the connections to host1 and host2. If all the nodes (host1 and host2) in the primary cluster are faulty, JDBC does not attempt to connect to the remaining nodes. After a switchover, JDBC evenly distributes connections to host3 and host4. If all nodes (host3 and host4) in the standby cluster are faulty, JDBC does not attempt to connect to the remaining nodes.

  • If this parameter is set to false, the JDBC load balancing and priority-based load balancing functions are disabled.

Default value: false

refreshCNIpListTime

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:

  • true: The database is connected in SSL mode.
  • false: The database is not connected in SSL mode.

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.

  • disable: SSL connection is disabled.
  • allow: If the database server requires SSL connection, SSL connection can be enabled. However, authenticity of the database server will not be verified.
  • prefer: If the database supports SSL connection, SSL connection is preferred. However, authenticity of the database server will not be verified.
  • require: The system only attempts to set up an SSL connection. It neither checks whether the server certificate is issued by a trusted CA, nor checks whether the host name of the server is the same as that in the certificate.
  • verify-ca: The system attempts to set up an SSL connection and checks whether the server certificate is issued by a trusted CA.
  • verify-full: The system attempts to set up an SSL connection, checks whether the server certificate is issued by a trusted CA, and checks whether the host name of the server is the same as that in the certificate.

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:
  • This parameter sets the time for attempting to connect to all IP addresses in a list. If this parameter is set to a small value, the subsequent IP addresses in the list may fail to be connected. For example, if three IP addresses are set, loginTimeout is set to 5s, and it takes 5s to connect to the first two IP addresses, the third IP address cannot be connected.
  • When any of the CPU, memory, and I/O load approaches 100%, the connection is slow, which may cause connection timeout. You can locate the fault as follows:
    • Log in to a physical machine with slow connections or use a management tool to query the resource load. You can run the top command to check the CPU usage, run the free command to check the memory usage, and run the iostat command to check the I/O load. In addition, you can check the monitoring logs in the CM Agent and the monitoring records on the database O&M platform.
    • For peak load scenarios caused by a large number of slow queries in a short period of time, you can use the port specified by [Port number of the database server + 1] to query the pg_stat_activity view. For slow queries, you can use the system function pg_terminate_backend(pid int) to kill sessions.
    • If service overloading exists for a long time (that is, there is no obvious slow query, or new queries still become slow after slow queries are killed), reduce the service load and increase database 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: 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.

connectTimeout

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

socketTimeoutInConnecting

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:

  • true: TCP keepalive detection is enabled.
  • false: TCP keepalive detection is disabled.

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:

  • true: If the close() method is not called, the finalize() method will be used to close the corresponding Connection object.
  • false: If the close() method is not called, the corresponding Connection object will not be closed.

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:

  • true: The JDBC driver reports the driver deployment path, process owner, and URL connection configuration information to the database and displays the information in the connection_info parameter. In this case, you can query the information from PG_STAT_ACTIVITY or PGXC_STAT_ACTIVITY.
  • false: The driver does not report the driver deployment path, process owner, and URL connection configuration information to the database.

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.

  • always: The JDBC driver sets a savepoint before each query and rolls back to the savepoint if the query fails.
  • never: There is no savepoint.
  • conservative: A savepoint is set for each query. However, the system rolls back and retries only when there is an invalid statement.

Default value: never

protocolVersion

Specifies the connection protocol version.

Property type: integer

Value range: 1 and 3.

  • 1: The V1 server is connected.
  • 3: The V5 server is connected.

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.

  • varchar: Parameters are sent to the server as varchar parameters.
  • unspecified: Parameters are sent to the server without their types specified, and the server will attempt to infer the appropriate types.

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:

  • on: The batch mode is enabled to improve the batch update performance. If batchMode is set to on, the returned result is [count, 0, 0...0]. The first element in the array is the total number of records affected in batches.
  • off: The batch mode is disabled. If batchMode is set to off, the returned result is [1, 1, 1...1]. Each element in the array corresponds to the number of affected records in a single modification.

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:

  • true: N insert statements can be combined into one: INSERT INTO TABLE_NAME VALUES (values1, ..., valuesN), ..., (values1, ..., valuesN)
  • false: SQL statements are not rewritten during batch insertion.

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:

  • true: enabled.
  • false: disabled.

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:

  • on: Values are assigned to BLOB data.
  • off: Values are assigned to bytea data.

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.

  • In simple mode, only Q messages are sent. Only text is supported. The parse and bind operations are not supported.
  • In extended mode, parse, bind, and execute operations are supported.
  • In extendedForPrepared mode, extended query applies to only the Prepared Statement objects, and the Statement objects support only simple query.
  • In extendedCacheEverything mode, the query generated by each Statement object is cached.

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

  • not_perfect_sharding_type: enables distributed write and query.
  • perfect_sharding_type: disables distributed write and query by default. Distributed write and query can be performed only after /* multinode */ is added to the SQL statement.

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:

  • true : Elastic IP addresses are used to implement load balancing.
  • false: Data IP addresses are used to implement load balancing.

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:

  • false: The int2 type is bound.
  • true: The Boolean type is bound.

Default value: false

allowReadOnly

Specifies whether to enable the read-only mode for a connection.

Property type: Boolean

Value range:

  • true: The read-only mode is enabled.
  • false: The read-only mode is disabled. In this case, calling connection.setReadOnly(true) does not take effect, and data can still be modified.

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:

  • true: Trailing zeros after the decimal point of the numeric type are removed.
  • false: Trailing zeros after the decimal point of the numeric type are not removed.

Default value: false

enableTimeZone

Specifies whether to enable the time zone setting on the client.

Property type: Boolean

Value range:

  • true: The time zone setting on the client is enabled. The JVM time zone is obtained to specify the database time zone.
  • false: The time zone setting on the client is disabled. Instead, the database time zone is used.

Default value: true

enableStandbyRead

Specifies whether to enable the read mode of the standby node.

Property type: Boolean

Value range:

  • true: enabled.
  • false: disabled.

Default value: false

oracleCompatible

This is used to set the ORA-compatible features of driver APIs.

Property type: string

Value range:
  • true: enables all ORA compatibility features on the driver side.
  • false: disables all ORA compatibility features on the driver side.
  • tag1,tag2,tag3: configures one or more tags. Use commas (,) to separate tags, indicating that the ORA compatibility features on the driver side are enabled. Each tag corresponds to an ORA compatibility feature.

    Currently, the following tags are supported:

    • getProcedureColumns: The behavior of the DatabaseMetaData#getProcedureColumns API is compatible with that in ORA.
    • batchInsertAffectedRows: After reWriteBatchedInserts is enabled, the result returned by the Statement#executeBatch API is compatible with that in ORA.

Default value: false

printSqlInLog

Specifies whether to output SQL statements in exception information or logs.

Property type: Boolean

Value range:

  • true: enabled.
  • false: disabled.

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.