连接参数参考
连接参数的名称对大小写敏感。将连接参数进行分类,具体如表1所示。
| 类别 | 参数名称 |
|---|---|
| PGDBNAME、PGHOST、PGPORT、user、password、tenantName、tenantPassword | |
| ApplicationName、protocolVersion、connectMode、loginTimeout、logUnclosedConnections、allowConnThreadPool | |
| socketFactory、socketFactoryArg、receiveBufferSize、sendBufferSize、tcpKeepAlive、connectTimeout、socketTimeout、socketTimeoutInConnecting、cancelSignalTimeout、cmNetworkTimeout | |
| ssl、sslmode、sslgmcipher、sslcert、sslkey、sslenccert、sslenckey、sslrootcert、sslpassword、sslpasswordcallback、sslfactory、sslprivatekeyfactory、sslfactoryarg、sslhostnameverifier、TLSCiphersSupperted、enable_ce、key_info、auto_sendtoken、refreshClientEncryption | |
| fetchsize、defaultRowFetchSize、unknownLength、uppercaseAttributeName、stripTrailingZeros、useGsClobBlobClass、enableObjectTypeConv | |
| binaryTransfer、binaryTransferEnable、binaryTransferDisable、blobMode、yearIsDateType、zeroCharacterReplacement、use_boolean、setFloat、stringtype | |
| logger、loggerLevel、loggerFile、printSqlInLog、actualErrorCodeForBatch、connectionExtraInfo、traceInterfaceClass | |
| driverInfoMode、oracleCompatible、mCompatible、pgCompatible、compatibilityTags、enableObjectTypeConv、assumeMinServerVersion、mCompatibleSetDateTime、mQuoteStringCompatible | |
| prepareThreshold、preparedStatementCacheQueries、preparedStatementCacheSizeMiB、databaseMetadataCacheFields、databaseMetadataCacheFieldsMiB、batchMode、reWriteBatchedInserts | |
| currentSchema、enableStandbyRead、loadBalanceHosts、autoBalance、disasterToleranceCluster、usingEip、enableAutoMigrate、priorityServers、preferredServiceGroup、preferredNodeIds、backupServiceGroup、backupNodeIds、hostRecheckSeconds、ApplicationType、sessionType、execTargetNode | |
| allowEncodingChanges、characterEncoding、enableTimeZone、autosave、cleanupSavepoints、enableStreamingQuery、preferQueryMode、allowReadOnly、parseCandidatesByDomain、primaryDomains、priorityDomains、refreshDomainResolveTime、refreshCNIpListTime、statementTimeout、executeUpdateQueryable、dbMonitor、enableGaussArrayAndStruct、getColumnsReturnNull、extendTablePrivilege、diffProcAndFunc |
认证
| 参数名称 | 参数说明 | 参数值 |
|---|---|---|
| PGDBNAME | 表示数据库名称(该参数在url中无需配置,系统将自动从Properties文件中解析)。 | 类型:String |
| PGHOST |
| 类型:String |
| PGPORT |
| 类型:Integer |
| user | 表示创建连接的数据库用户。 | 类型:String |
| password | 表示数据库用户的密码。 | 类型:String 须知:
|
数据库连接
| 参数名称 | 参数说明 | 参数值 |
|---|---|---|
| ApplicationName | 表示正在连接的JDBC驱动名称。
| 类型:String 默认值:PostgreSQL JDBC Driver |
| protocolVersion | 指定连接协议版本号,用于连接不同版本的数据库。 说明: 设置protocolVersion时需确认数据库的类型和加密方式。 例如,用户要连接V5服务端且把该参数设置为3时,则需要确认或修改数据库的加密方式为MD5。修改加密方式为MD5,需要将password_encryption_type参数设置为1。随后使用对应加密方式的用户登录或者创建新用户,此时创建新用户的加密方式为MD5。同时修改pg_hba.conf,将客户端连接方式修改为MD5。 password_encryption_type参数具体说明,请参见《参考》中“数据库运行参数说明 > GUC参数说明 > 连接和认证 > 安全和认证”章节。 | 类型:Integer 取值范围:
默认值:351 |
| loginTimeout |
说明: 当CPU、内存、I/O负载中的任意一项接近100%时,会出现连接慢的现象,可能会导致连接时间超过阈值的问题,可通过以下方式进行问题排查:
| 类型:Integer 单位:s(秒) 有效取值范围:0 ~ 2147483647。0及负数表示已禁用,timeout不生效。 默认值:0 建议:配置后每次建立连接都会开启一个异步线程,在连接数较多的情况下可能会导致客户端压力增大,如果业务确认需要设置此参数,建议对该参数值进行调整。
说明:
|
| logUnclosedConnections | 客户端可能由于未调用Connection对象的close()方法而泄漏Connection对象。设置为true时,JVM调用finalize()方法回收Connection对象会有日志记录。 | 类型:Boolean 取值范围:
默认值:false |
网络连接
| 参数名称 | 参数说明 | 参数值 |
|---|---|---|
| 创建与服务器socket连接的类的名称。该类必须实现接口“javax.net.SocketFactory”,并定义无参或单String参数的构造函数。 | 类型:String | |
| 表示上述socketFactory类构造函数的可选参数。如果不确定目标类的构造函数,则不推荐使用。 | 类型:String | |
| receiveBufferSize | 指定连接流上的SO_RCVBUF。 | 类型:Integer 单位:Byte 取值范围:-1 ~ 2147483647 默认值:-1。表示不设置缓冲区大小。 |
| sendBufferSize | 指定连接流上的SO_SNDBUF。 | 类型:Integer 单位:Byte 取值范围:-1 ~ 2147483647 默认值:-1。表示不设置缓冲区大小。 |
| tcpKeepAlive | 指定是否启用TCP保活探测功能。 | 类型:Boolean 取值范围:
默认值:false |
| connectTimeout | 指定连接服务器操作系统的超时时间。如果连接到服务器操作系统花费的时间超过此值,则连接断开。当url配置多IP时,表示连接单个IP的超时时间。 | 类型:Integer 单位:s(秒) 取值范围:0 ~ 2147483。0表示已禁用,timeout不生效。 默认值:0 |
| socketTimeout | 指定socket读取操作的超时时间。如果从服务器读取数据流所花费的时间超过此值,则连接关闭。推荐配置此参数,否则当数据库进程异常或服务端系统重启但未关闭socket时,客户端可能陷入长时间等待。建议依据业务可接受的SQL执行时间进行合理配置。 说明: 当JDBC侧触发超时且连接关闭时,其下发给数据库侧正在运行的业务会被强制终止。业务强制终止的能力受GUC参数check_disconnect_query控制,设置为on表示支持该能力,设置为off表示不支持该能力。 | 类型:Integer 单位:s(秒) 有效取值范围:0 ~ 2147483。0及负数表示已禁用,timeout不生效。 默认值:0 |
| socketTimeoutInConnecting | 指定建立连接阶段socket读取操作的超时时间。在建立连接阶段,如果从服务器读取数据流超过此阈值,则尝试查找下一个节点建立连接。 | 类型:Integer 单位:s(秒) 有效取值范围:0 ~ 2147483。0及负数表示已禁用,timeout不生效。 默认值:5 |
| cancelSignalTimeout | 指定取消命令的“connect超时”和“socket超时”的超时时间。如果取消命令超过指定时间未响应,会中断该连接,减少占用客户端资源。 | 类型:Integer 单位:s(秒) 有效取值范围:0 ~ 2147483。0及负数表示已禁用,timeout不生效。 默认值:10 |
安全
| 参数名称 | 参数说明 | 参数值 |
|---|---|---|
| ssl | 表示是否以SSL方式连接数据库。设置为true时,支持使用NonValidatingFactory通道和证书两种SSL连接方式。 | 类型:Boolean 取值范围:
默认值:NULL(与false等效) |
| 表示SSL认证方式。 | 类型:String 取值范围:disable、allow、prefer、require、verify-ca、verify-full。
默认值:NULL(与require等效) | |
| 指定国密TLS采用的加密算法套件。 | 类型:String 取值范围:
默认值:NULL | |
| sslcert | 指定客户端证书文件的完整路径。证书类型为End Entity。 | 类型:String 默认值:NULL(表示读取用户根目录的客户端证书文件) |
| sslkey | 指定密钥文件的完整路径,使用时需将该密钥转换为DER格式。 openssl pkcs8 -topk8 -outform DER -in client.key -out client.key.pk8 -nocrypt | 类型:String 默认值:NULL(表示读取用户根目录的密钥文件) |
| sslenccert | 指定国密TLS客户端加密证书的完整路径,证书类型为End Entity。 | 类型:String 默认值:NULL(表示读取用户根目录的国密TLS客户端加密证书) |
| sslenckey | 指定国密TLS密钥文件的完整路径,使用时需将该密钥转换为DER格式。 openssl pkcs8 -topk8 -outform DER -in client_enc.key -out client_enc.key.pk8 -nocrypt | 类型:String 默认值:NULL(表示读取用户根目录的国密TLS密钥文件) |
| 表示SSL根证书的文件名。根证书的类型为CA。 | 类型:String 默认值:NULL(表示读取用户根目录的SSL根证书) | |
| sslpassword | 表示SSL密码。该参数提供给ConsoleCallbackHandler组件使用。 | 类型:String 默认值:NULL 须知:
|
| sslpasswordcallback | 指定SSL密码提供者的完整类名。 | 类型:String 默认值:NULL(表示不开启此功能) |
| sslfactory | 指定SSLSocketFactory在建立SSL连接时使用的类名。 | 类型:String 默认值:NULL(表示不开启此功能) |
| sslprivatekeyfactory | 指定实现私钥解密方法的接口com.huawei.gaussdb.jdbc.ssl.PrivateKeyFactory的实现类的完整限定类名。若未指定该参数,系统将首先尝试使用默认的JDK私钥解密算法。若无法解密则使用com.huawei.gaussdb.jdbc.ssl.BouncyCastlePrivateKeyFactory,用户需提供bcpkix-jdk15on.jar包(建议版本1.65及以上)。 | 类型:String 默认值:NULL(表示会尝试使用默认的JDK私钥解密算法进行解密) |
| sslfactoryarg | 表示sslfactory类构造函数的可选参数(不推荐使用)。 | 类型:String 默认值:NULL |
| sslhostnameverifier | 表示主机名验证程序的类名。该参数实现javax.net.ssl.HostnameVerifier接口。 | 类型:String 默认值:com.huawei.gaussdb.jdbc.ssl.PGjdbcHostnameVerifier |
| TLSCiphersSupperted | 指定支持的TLS加密套件列表。 说明: 设置为不支持的TLS加密套件时,系统将抛出异常。 | 类型:String 默认值: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 |
| enable_ce | 表示密态等值查询功能的启用模式。 | 类型:Integer 取值范围:
默认值:NULL(表示不支持密态等值查询功能) |
| key_info | 与enable_ce参数协同使用,用于配置访问外部密钥管理服务的参数。该参数仅在密态数据库环境下生效。 | 类型:String 默认值:NULL 须知:
|
| auto_sendtoken | 与enable_ce参数协同使用,仅在密态数据库参数enable_ce设置为3时生效。启用该参数后,JDBC客户端将在建立连接后自动执行与setClientInfo("send_token")功能相同的传输密钥操作。 | 类型:Boolean 默认值:false |
| refreshClientEncryption | 表示密态数据库是否支持客户端缓存刷新功能。 | 类型:String 取值范围:
默认值:NULL |
结果集
| 参数名称 | 参数说明 | 参数值 |
|---|---|---|
| fetchsize | 指定一次fetch在ResultSet中读取的行数,其功能与defaultRowFetchSize参数等效。 | 类型:Integer 有效取值范围:0 ~ 2147483647。0及负数表示一次fetch在ResultSet中读取所有行数。 默认值:0 建议:用户根据实际业务查询数据数量和客户端机器内存情况来配置此参数。设置fetchsize时要关闭自动提交模式(conn.setAutoCommit(false);),否则会导致fetchsize无法生效。 |
| 指定一次fetch在ResultSet中读取的行数。限制每次访问数据库时读取的行数可以避免不必要的内存消耗,从而避免OutOfMemoryException。 须知: 若同时设置fetchsize和defaultRowFetchSize,以fetchsize参数的值为准。 | 类型:Integer 取值范围:0 ~ 2147483647。0表示一次fetch在ResultSet中读取所有行数。 默认值:0 | |
| unknownLength | GaussDB某些数据类型(例如TEXT)没有明确数据长度,当通过java.sql.ResultSetMetaData#getColumnDisplaySize和java.sql.ResultSetMetaData#getPrecision等方法返回这些类型的数据时,此参数用于指定数据长度。 | 类型:Integer 取值范围:0 ~ 2147483647 默认值:2147483647 |
| uppercaseAttributeName | 指定将获取元数据的接口的查询结果转为大写或小写。主要适用场景为数据库中存储元数据全为小写,但要使用大写的元数据作为出参和入参。 涉及到的接口请参见:java.sql.DatabaseMetaData、java.sql.ResultSetMetaData。 说明: uppercaseAttributeName参数开启后,如果数据库中有小写、大写和大小写混合的元数据,只能查询到小写部分的元数据,并以大写的形式输出。使用前请务必确认存储的元数据全为小写,以避免数据出错。 | 类型:String 取值范围:
默认值:false |
| stripTrailingZeros | 指定是否去除numeric类型后的0,仅对java.sql.ResultSet#getObject(int columnIndex)生效。 | 类型:Boolean 取值范围:
默认值:false |
| useGsClobBlobClass | 指定使用java.sql.ResultSet#getObject方法获取Clob字段和Blob字段时返回某种类型的对象,以及使用java.sql.ResultSetMetaData#getColumnClassName方法获取Clob字段和Blob字段时返回的类型名称。 | 类型:Boolean 取值范围:
默认值:false |
| enableObjectTypeConv | 表示java.sql.ResultSet#getObject(int, Class<?>)接口是否支持兼容类型转换。当前已支持数值类型互转、字符串类型互转和日期/时间类型互转。 | 类型:Boolean 取值范围:
默认值:false |
数据类型
| 参数名称 | 参数说明 | 参数值 |
|---|---|---|
| binaryTransfer | 指定是否启用二进制格式发送和接收数据。 | 类型:Boolean 取值范围:
默认值:false |
| binaryTransferEnable | 指定启用二进制传输的类型列表。以逗号分隔,例如:binaryTransferEnable=INT4_ARRAY,INT8_ARRAY。 可使用OID编号或者名称配置。例如:OID名称为BLOB,编号为88,可以进行如下配置:binaryTransferEnable=BLOB或binaryTransferEnable=88。 须知: 如果binaryTransferDisable与binaryTransferEnable有相同的value,则会禁用。 | 类型:String 默认值:""(空字符串) |
| binaryTransferDisable | 指定禁用二进制传输的类型列表。以逗号分隔,可使用OID编号或者名称配置。 | 类型:String 默认值:""(空字符串) |
| blobMode | 指定setBinaryStream()方法为不同类型的数据赋值。 | 类型:String 取值范围:
默认值:on |
| yearIsDateType | 使用java.sql.ResultSet#getObject接口和java.sql.ResultSet#getString接口获取year数据类型字段时,指定返回的数据对象是否以Date类型呈现。 | 类型:Boolean 取值范围:
默认值:true |
| use_boolean | 表示extended模式下setBoolean()方法绑定的Oid类型。 | 类型:Boolean 取值范围:
默认值:false |
| setFloat | 表示调用setFloat或者setObject指定类型为float时,传递给数据库的Oid是否为float4的Oid。M-Compatibility模式数据库下不受该参数影响。 | 类型:Boolean 取值范围:
默认值:false |
| stringtype | 指定调用java.sql.PreparedStatement#setString方法时传给数据库的参数类型。 | 类型:String 取值范围:
默认值:NULL(与varchar等效) |
日志及调试
| 参数名称 | 参数说明 | 参数值 |
|---|---|---|
| logger | 表示JDBC驱动要使用的日志输出框架。JDBC驱动支持对接用户应用程序使用的日志输出框架。 | 类型:String 取值范围:
|
| loggerLevel | 指定日志记录级别。 | 类型:String 取值范围:目前支持四种级别,不区分大小写,取值如下。
默认值:OFF |
| loggerFile | 在开启连接监控功能时,该参数用于指定监控日志输出路径。仅限连接监控场景下配置该参数,其他场景下该参数不生效。 | 类型:String 默认值:NULL(表示在客户端运行程序目录下生成日志文件) |
| printSqlInLog | 指定是否在异常信息或日志中输出SQL语句。 | 类型:Boolean 取值范围:
默认值:true |
| actualErrorCodeForBatch | executeBatch接口执行报错时,指定返回实际错误码或者返回固定错误码0。 | 类型:Boolean 取值范围:
默认值:false |
| connectionExtraInfo | 指定是否上报驱动相关信息到数据库。 | 类型:Boolean 取值范围:
默认值:false |
| traceInterfaceClass | 指定获取traceId方法接口com.huawei.gaussdb.jdbc.log.Tracer的实现类完整限定名。 | 类型:String 默认值:NULL(表示不开启此功能) |
兼容性
| 参数名称 | 参数说明 | 参数值 |
|---|---|---|
| driverInfoMode | 表示驱动描述信息的输出模式。 | 类型:String 取值范围:
默认值:postgresql |
| oracleCompatible | 指定驱动侧是否开启Oracle兼容特性。 | 类型:String 取值范围:
默认值:false |
| mCompatible | 指定驱动侧是否开启MySQL兼容特性。 | 类型:String 取值范围:
默认值:false |
| mCompatibleSetDateTime | 连接MySQL兼容数据库时,绑定Date、Time、Timestamp类型参数,指定oid为具体值或为0下发至数据库。 | 类型:Boolean 取值范围:
默认值:false |
| pgCompatible | 设置JDBC对SQL语法解析方式是否兼容PG。 | 类型:Boolean 取值范围:
默认值:false |
| compatibilityTags | 将驱动的部分特性恢复到早期版本,以确保前向兼容。可配置相应tag,每个tag代表开启对应的前向兼容特性,不同tag之间用逗号隔开。目前支持的tag如下: typeMapInitNull:使用该tag后,兼容驱动早期版本的行为。 说明: 一般不建议使用该参数,除非有明确的前向兼容问题。 | 类型:String 默认值:NULL |
| enableObjectTypeConv | 表示java.sql.ResultSet#getObject(int, Class<?>)方法是否支持兼容类型转换。当前已支持数值类型互转、字符串类型互转和日期/时间类型互转。 | 类型:Boolean 取值范围:
默认值:false |
| assumeMinServerVersion(废弃) | 指定连接的服务器最低版本。 例如:assumeMinServerVersion高于或者等于9.0,可优化连接建立过程。客户端将不再发送将float精度设置为3的请求(默认维持精度等级2)。 | 类型:String 默认值:NULL |
| mQuoteStringCompatible | 表示java.sql.DatabaseMetaData#getIdentifierQuoteString()方法是否兼容MySQL。 | 类型:Boolean 取值范围:
默认值:false |
性能
| 参数名称 | 参数说明 | 参数值 |
|---|---|---|
| 表示PreparedStatement对象的执行次数阈值。达到该阈值后将复用服务端已解析的statement。 说明:
| 类型:Integer 有效取值范围:0 ~ 2147483647。0及负数表示禁用此功能。 默认值:5。表示同一PreparedStatement对象执行次数达到5次后,不再向服务端发送parse消息进行重复解析,而是复用服务端已解析的statement。 | |
| 表示每个连接中使用prepareStatement()创建的查询数量超过某一阈值时,将采用LRU(最近最少使用)策略淘汰查询缓存。 | 类型:Integer 有效取值范围:0 ~ 2147483647。0及负数表示禁用缓存。 默认值:256。表示每个连接中使用prepareStatement()创建的查询数量超过256时,将采用LRU(最近最少使用)策略淘汰查询缓存。 建议:根据业务需求调整该参数,需与prepareThreshold参数配合使用。 | |
| 表示每个连接中使用prepareStatement()创建的查询占用缓存空间超过某一阈值时,将采用LRU(最近最少使用)策略淘汰查询缓存。 | 类型:Integer 单位:MB 有效取值范围:0 ~ 2147483647。0及负数表示禁用缓存。 默认值:5。表示每个连接中使用prepareStatement()创建的查询占用缓存空间超过5MB时,将采用LRU(最近最少使用)策略淘汰查询缓存。 | |
| databaseMetadataCacheFields | 指定每个连接中缓存的数据库元数据字段数量的最大值。 | 类型:Integer 有效取值范围:0 ~ 2147483647。0及负数表示禁用缓存。 默认值:65536 |
| databaseMetadataCacheFieldsMiB | 指定每个连接中缓存的数据库元数据字段占用缓存空间的最大值。 | 类型:Integer 单位:MB 有效取值范围:0 ~ 2147483647。0及负数表示禁用缓存。 默认值:5 |
| 表示是否使用batch模式连接。 说明: 设置batchMode=on时,执行批量插入/更新/删除操作,每一列的数据类型以第一条数据指定的类型为准,若数据类型混用可能会导致报错或者插入的数据异常。 | 类型:String 取值范围:
默认值:on | |
| 表示批量插入时,是否重写SQL语句。使用该参数时,要求设置batchMode=off。 | 类型:Boolean 取值范围:
默认值:false |
可用性
| 参数名称 | 参数说明 | 参数值 |
|---|---|---|
| currentSchema | 指定当前连接的Schema。如果Schema名包含除字母、数字、下划线之外的特殊字符,需要对Schema名加引号,注意加引号后Schema名大小写敏感。如需配置多个Schema,要用逗号进行分隔。 例如:currentSchema=schema_a,"schema-b","schema/c" | 类型:String 默认值:NULL(表示使用连接的用户名作为默认Schema) |
| enableStandbyRead | 指定是否开启备机读模式。 | 类型:Boolean 取值范围:
默认值:false |
| loadBalanceHosts | 指定是否使用负载均衡功能。 说明:
| 类型:Boolean 取值范围:
默认值:false |
| autoBalance |
须知:
|
|
| disasterToleranceCluster | 表示在开启负载均衡功能的场景下且JDBC连接数据库的url中只配置容灾集群节点时,判断负载均衡连接到主集群或连接到容灾集群。该参数不可与priorityServers参数共同使用。 说明:
| 类型:Boolean 取值范围:
默认值:false |
| 指定是否使用业务IP实现负载均衡。 须知:
| 类型:Boolean 取值范围:
默认值:true | |
| 指定url中优先连接的节点数量。应用于流式容灾场景。该参数不可与disasterToleranceCluster参数共同使用。 示例: jdbc:gaussdb://host1:port1,host2:port2,host3:port3,host4:port4/database?priorityServers=2 表示host1与host2为主集群节点,host3与host4为容灾集群节点。 | 类型:Integer 取值范围:大于0且小于url中配置的CN数量。 默认值:NULL(表示不开启此功能) | |
| hostRecheckSeconds | JDBC尝试连接主机后将记录主机状态(连接成功或连接失败、主节点或备节点)。在设定的hostRecheckSeconds时间内保持记录的主机状态可信,超时后记录的主机状态失效。 | 类型:Integer 单位:s(秒) 取值范围:0 ~ 2147483 默认值:10 |
| ApplicationType | 指定是否开启分布式写入和查询。该参数仅在数据库处于GTM-Free模式时有效。 | 类型:String 取值范围:
默认值:not_perfect_sharding_type |
| sessionType | 指定当前会话的类型,并生成对应的执行计划。 | 类型:String 取值范围:
默认值:normal |
| execTargetNode | 表示单节点会话模式下对应的DN节点。此参数需与sessionType同时使用,且仅当sessionType设置为singleNode时生效。 说明:
| 类型:String 取值范围:当前集群内的所有DN节点名称。 默认值:NULL |
其他功能
| 参数名称 | 参数说明 | 参数值 |
|---|---|---|
| allowEncodingChanges | 表示是否允许修改字符集类型,通常与characterEncoding参数配合使用,用“&”连接,格式示例如下: allowEncodingChanges=true&characterEncoding=UTF8 | 类型:Boolean 取值范围:
默认值:false |
| characterEncoding | 表示字符集类型,需与allowEncodingChanges参数配合使用。当allowEncodingChanges为false时,characterEncoding仅允许设置为UTF8;当allowEncodingChanges为true时,characterEncoding可在支持范围内进行配置。 须知:
| 类型:String 取值范围:UTF8、GBK、LATIN1、GB18030、GB18030_2022、ZHS16GBK。 默认值:UTF8 |
| enableTimeZone | 指定是否启用客户端时区设置。 | 类型:Boolean 取值范围:
默认值:true |
| autosave | 事务内SQL语句执行失败时,指定驱动程序的处理策略。 | 类型:String 取值范围:
默认值:never |
| cleanupSavepoints | 指定是否自动释放JDBC创建的保存点(autosave为always或conservative时创建)。 | 类型:Boolean 取值范围:
默认值:false |
| enableStreamingQuery | 指定是否开启流式读功能。 说明: 流式读功能:读取数据时,服务端将全部数据发送至客户端Socket缓冲区。缓冲区占满时暂停发送,有空余则继续向缓冲区中发送数据,同时JVM逐行从缓冲区中读取数据。
| 类型:Boolean 取值范围:
默认值:false |
| preferQueryMode | 指定执行查询的模式。 | 类型:String 取值范围:
默认值:extended |
| allowReadOnly | 指定是否允许开启只读模式。当allowReadOnly为true时,调用connection.setReadOnly(true)后,只读模式生效,无法修改数据;当allowReadOnly为false时,调用connection.setReadOnly(true)后,只读模式不生效,仍可以修改数据。 | 类型:Boolean 取值范围:
默认值:true |
| 指定是否根据域名获取多个候选节点。 | 类型:Boolean 取值范围:
默认值:false | |
| primaryDomains | 指定url中配置的前n个域名为主集群并优先连接。参数值大于0时表示启用该功能,需配合parseCandidatesByDomain参数为true时才能生效。将url中的域名拆分成两个分组,前一个分组为主集群,后一个分组为备集群。发生主备切换后,前一个分组为备集群,后一个分组为主集群。适用于流式容灾和Dorado双集群场景。 示例: jdbc:gaussdb://domain1:port1,domain2:port2,domain3:port3,domain4:port4/database?parseCandidatesByDomain=true&primaryDomains=2 domain1和domain2对应主集群,优先连domain1和domain2对应的IP。如果发生主备切换,将domain3和domain4标记为主集群,优先对domain3和domain4建立连接。 | 类型:Integer 取值范围:0 ~ (url配置的域名数量-1) 默认值:0(关闭此功能) |
| 指定url中配置的前n个域名为优先连接的域名。参数值大于0时表示启用该功能,需配合parseCandidatesByDomain参数为true时才能生效。若已配置primaryDomains,则此参数值需小于primaryDomains的配置值。 示例: jdbc:gaussdb://domain1:port1,domain2:port2,domain3:port3,domain4:port4/database?parseCandidatesByDomain=true&primaryDomains=2&priorityDomains=1 domain1和domain2对应主集群,但将优先连接domain1对应的IP。domain2是备用域名,仅在domain1不可连接时才会尝试连接domain2对应的IP。若发生主备切换,domain3和domain4将被标记为新的主集群,但将优先连接domain3对应的IP,仅在domain3不可连接时才会尝试连接domain4对应的IP。 | 类型:Integer 取值范围:0 ~ (url配置的域名数量-1) 默认值:0(关闭此功能) | |
| refreshDomainResolveTime | 指定域名解析结果的刷新周期,需配合parseCandidatesByDomain参数为true时才能生效。生效后会将url中的域名解析刷新时间设置为指定值,并在异步线程中定时更新域名解析结果。 须知: 驱动仅通过应用所在环境的DNS服务获取域名解析结果,为保障域名绑定的变更被驱动及时感知,需应用所在环境的DNS服务保障域名绑定关系变更后能够及时生效。 | 类型:Integer 单位:s(秒) 取值范围:1 ~ 2147483647 默认值:10 |
| 获取CN列表的缓存有效时间。JDBC在建立连接时会检测数据库集群中CN状态,在refreshCNIpListTime时间内,此状态被视为可信。超过该时间后状态失效,下次建立连接时会重新获取可用CN的IP列表。 | 类型:Integer 单位:s(秒) 取值范围:1 ~ 9999 默认值:10 建议:根据业务需求进行调整,并与autoBalance配合使用。 | |
| statementTimeout | 指定statement执行的超时值。若statement执行时间超过该值,将取消当前执行操作。 | 类型:Integer 单位:ms(毫秒) 有效取值范围:0 ~ 2147483647。0及负数表示禁用超时功能。 默认值:0 |
| executeUpdateQueryable | 指定executeUpdate()方法是否允许执行DQL语句。 说明: 建议通过executeQuery()方法执行DQL语句,因此不推荐启用此参数。 | 类型:Boolean 取值范围:
默认值:false |
| dbMonitor | 指定是否开启JDBC连接监控功能。 说明:
| 类型:Boolean 取值范围:
默认值:false |
| enableGaussArrayAndStruct | 开启此功能后,会将投影列(或出参)为数组和集合类型的查询结果转换为GaussArray和GaussStruct对象。 | 类型:Boolean 取值范围:
默认值:false |
| getColumnsReturnNullScale | 通过ResultSetMetaData#getColumns方法获取DECIMAL类型的小数位数时,设置是否将未指定小数位数的列返回null。 | 类型:Boolean 取值范围:
默认值:false |
| extendTablePrivilege | 通过PgDatabaseMetaData#getTablePrivileges方法获取用户对表的权限时,设置驱动行为与哪个开源数据库的驱动兼容。目前仅支持PostgreSQL数据库驱动的兼容。 | 类型:String 取值范围:
默认值:NULL |
| diffProcAndFunc | 指定DatabaseMetaData#getProcedures、DatabaseMetaData#getFunctions方法是否区分存储过程和函数。 | 类型:Boolean 取值范围:
默认值:false |