连接参数参考
info参数连接的所有属性名称对大小写敏感。常用的属性如表1所示。
属性名称 |
属性说明 |
属性值 |
---|---|---|
PGDBNAME |
表示数据库名称(URL中无需配置该参数,自动从Properties文件中解析)。 |
属性类型:String |
PGHOST |
主机IP地址,同时支持IPv4和IPv6。 |
属性类型:String |
PGPORT |
主机端口号。 |
属性类型:Integer |
user |
表示创建连接的数据库用户。 |
属性类型:String |
password |
表示数据库用户的密码。 |
属性类型:String |
driverInfoMode |
控制驱动描述信息的输出模式。 |
属性类型:String 取值范围:postgresql、gaussdb。
默认值:postgresql |
enable_ce |
表示密态等值查询的能力。 |
属性类型:String 取值范围:
默认值:该属性不设置则为空,表示不开启密态等值查询。 |
key_info |
与enable_ce一起使用,在密态数据库中,用于设置访问外部密钥管理者的参数。 |
属性类型:String 默认值:该属性不设置则为空。 |
auto_sendtoken |
与enable_ce一起使用,在密态数据库参数enable_ce为3时可开启。开启后JDBC客户端会在建连后自动触发与setClientInfo("send_token")相同的传输密钥的动作。 |
属性类型:Boolean 默认值:false。 |
refreshClientEncryption |
指定密态数据库是否支持客户端缓存刷新。 |
属性类型:String 取值范围:
默认值:1 |
loggerLevel |
指定日志记录级别。 |
属性类型:String 取值范围:目前支持4种级别:OFF、INFO、DEBUG、TRACE。
默认值:该属性不设置则为空,与设置为INFO等效。 |
loggerFile |
用于指定日志输出路径(目录和文件名)。一般要求明确指定日志目录和文件名。 在开启连接监控功能时用于指定输出监控日志路径,如需将JDBC日志输出到指定路径,可通过 java.util.logging 属性文件或系统属性进行配置。仅限开启连接监控场景下使用,其他情况则不能使用。 |
属性类型:String 默认值:该属性不设置则为空,未指定目录则会在客户端运行程序目录下生成日志文件。 |
logger |
表示JDBC Driver要使用的日志输出框架。JDBC Driver支持对接用户应用程序使用的日志输出框架。 |
属性类型:String 取值范围:Slf4JLogger
|
allowEncodingChanges |
设置该参数值为true进行字符集类型更改,配合参数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 |
currentSchema |
设置当前连接的schema,在search-path中指定要设置的schema。如果schema名包含除字母、数字、下划线之外的特殊字符,需要在schema名上加引号,注意加引号后schema名大小写敏感。如需配置多个schema,要用逗号“,”进行分隔。 例如:currentSchema=schema_a,"schema-b","schema/c" |
属性类型:String 缺省:如果未设置,则默认schema为连接使用的用户名。 |
hostRecheckSeconds |
JDBC尝试连接主机后会保存主机状态:连接成功或连接失败。在hostRecheckSeconds时间内保持可信,超过则状态失效。 |
属性类型:Integer 属性单位:s 取值范围:0 ~ 2147483647 默认值:10 |
ssl |
表示以SSL方式连接数据库。 ssl=true可支持NonValidatingFactory通道和使用证书的方式: 1、NonValidatingFactory通道需要配置用户名和密码,同时将SSL设置为true。 2、配置客户端证书、密钥、根证书,将SSL设置为true。 |
属性类型:Boolean 取值范围:
默认值:该属性不设置则为空,与false等效。 |
sslmode |
SSL认证方式。 |
属性类型:String 取值范围:disable、allow、prefer、require、verify-ca、verify-full。
默认值:该属性不设置则为空,与require等效。 |
sslgmcipher |
指定国密TLS采用的加密算法套件。 |
属性类型:String 取值范围:
|
sslcert |
提供客户端证书文件的完整路径。证书类型为End Entity。 |
属性类型:String 默认值:该属性不设置则为空,读取用户根目录。 |
sslkey |
提供密钥文件的完整路径,使用时需将该密钥转换为DER格式。 openssl pkcs8 -topk8 -outform DER -in client.key -out client.key.pk8 -nocrypt |
属性类型:String 默认值:该属性不设置则为空,读取用户根目录。 |
sslenccert |
提供国密TLS客户端加密证书的完整路径,证书类型为End Entity。 |
属性类型:String 默认值:该属性不设置则为空,读取用户根目录。 |
sslenckey |
提供国密TLS加密密钥文件的完整路径,使用时需将该密钥转换为DER格式。 openssl pkcs8 -topk8 -outform DER -in client_enc.key -out client_enc.key.pk8 -nocrypt |
属性类型:String 默认值:该属性不设置则为空,读取用户根目录。 |
sslrootcert |
SSL根证书的文件名。根证书的类型为CA。 |
属性类型:String 默认值:该属性不设置则为空,读取用户根目录。 |
sslpassword |
SSL密码,提供给ConsoleCallbackHandler使用。 |
属性类型:String |
sslpasswordcallback |
SSL密码提供者的类名。 |
属性类型:String 默认值:该属性不设置则为空。 |
sslfactory |
指定SSLSocketFactory在建立SSL连接时用的类名。 |
属性类型:String 默认值:该属性不设置则为空。 |
sslprivatekeyfactory |
指定实现私钥解密方法的接口com.huawei.gaussdb.jdbc.ssl.PrivateKeyFactory的实现类的完整限定类名。如果不提供,首先尝试默认的jdk私钥解密算法,如果无法解密,则使用com.huawei.gaussdb.jdbc.ssl.BouncyCastlePrivateKeyFactory,用户需要提供bcpkix-jdk15on.jar包,版本建议1.65以上。 |
属性类型:String 默认值:该属性不设置则为空,会尝试使用默认的jdk私钥解密算法进行解密。 |
sslfactoryarg |
此值是sslfactory类的构造函数的可选参数(不推荐使用)。 |
属性类型:String 默认值:该属性不设置则为空。 |
sslhostnameverifier |
主机名验证程序的类名。接口实现javax.net.ssl.HostnameVerifier,默认使用com.huawei.gaussdb.jdbc.ssl.PGjdbcHostnameVerifier。 |
属性类型:String 默认值:该属性不设置则为空,默认使用com.huawei.gaussdb.jdbc.ssl.PGjdbcHostnameVerifier。 |
loginTimeout |
指建立数据库连接的等待时间。当url配置多IP时,若获取连接花费的时间超过此值,则连接失败,不再尝试后续IP。 loginTimeout时间包括connectTimeout和socketTimeoutInConnecting,计算方式为:loginTimeout=(connectTimeout+连接认证时间+初始化语句执行时间)*节点数量。
须知:
|
属性类型:Integer 属性单位:s(秒) 取值范围:0 ~ 2147483647。0表示已禁用,timeout不生效。 默认值:0 建议:配置后每次建连都会开启一个异步线程,在连接数较多的情况可能会导致客户端压力增大,如果业务确认需要设置此参数,在集中式环境下建议调整为max(connectTimeout, socketTimeoutInConnecting) * 节点数,防止在网络异常情况且第n个IP为主的情况下,无法连接。 |
connectTimeout |
用于连接服务器操作系统的超时值。如果连接到服务器操作系统花费的时间超过此值,则连接断开。当url配置多IP时,表示连接单个IP的超时时间。 |
属性类型:Integer 属性单位:s(秒) 取值范围:0 ~ 2147483647。0表示已禁用,timeout不生效。 默认值:0 |
socketTimeout |
用于socket读取操作的超时值。如果从服务器读取数据流所花费的时间超过此值,则连接关闭。如果不配置该参数,在数据库进程异常情况下,会导致客户端出现长时间等待,建议根据业务可以接受的SQL执行时间进行配置。
说明:
当JDBC侧触发超时且连接关闭时,其下发给数据库侧正在运行的业务会被强制终止。业务强制终止的能力受GUC参数check_disconnect_query控制,设置为on表示支持该能力,设置为off表示不支持该能力。 |
属性类型:Integer 属性单位:s(秒) 取值范围:0 ~ 2147483647。0表示已禁用,timeout不生效。 默认值:0 |
socketTimeoutInConnecting |
用于控制建连阶段socket读取操作的超时值。在建连阶段,如果从服务器读取数据流超过此阈值,则尝试查找下一个节点建连。 |
属性类型:Integer 属性单位:s(秒) 取值范围:0 ~ 2147483647 默认值:5 |
statementTimeout |
用于控制connection中statement执行时间的超时值。如果statement执行时间超过此值,则取消该statement执行。 |
属性类型:Integer 属性单位:ms(毫秒) 取值范围:0 ~ 2147483647。0表示已禁用,timeout不生效。 默认值:0 |
cancelSignalTimeout |
发送取消命令的消息本身可能会阻塞,用于控制取消命令的“connect超时”和“socket超时”。如果取消命令超过指定时间未响应,会中断该连接,减少占用客户端资源。 |
属性类型:Integer 属性单位:s(秒) 取值范围:0 ~ 2147483647 默认值:10 |
tcpKeepAlive |
TCP保活探测功能的控制开关。 |
属性类型:Boolean 取值范围:
默认值:false |
logUnclosedConnections |
客户端可能由于未调用Connection对象的close()方法而泄漏Connection对象。最终这些对象将被垃圾回收,并且调用finalize()方法。 |
属性类型:Boolean 取值范围:
默认值:false |
assumeMinServerVersion(废弃) |
该参数设置要连接的服务器版本。 如assumeMinServerVersion高于或者等于9.0,可以在建立连接时减少相关包的发送,客户端不会发送请求将float精度设置为3(即维持原来设置的float精度2)。 |
属性类型:String 默认值:该属性不设置则为空。 |
ApplicationName |
设置正在使用连接的JDBC驱动的名称。通过在数据库主节点上查询pg_stat_activity表可以看到正在连接的客户端信息,JDBC驱动名称显示在application_name列。 |
属性类型:String 默认值:PostgreSQL JDBC Driver |
connectionExtraInfo |
表示驱动是否将当前驱动的部署路径、进程属主用户、url连接配置信息上报到数据库。 |
属性类型:Boolean 取值范围:
默认值:false |
autosave |
如果查询失败,指定驱动程序应该执行的操作。 |
属性类型:String 取值范围:always、never、conservative。
默认值:never |
protocolVersion |
连接协议版本号。 |
属性类型:Integer 取值范围:目前仅支持1和3。
默认值:该属性不设置则为空,与设置为3等效。 |
prepareThreshold |
该值决定PreparedStatement对象在执行多少次以后使用服务端已经解析好的statement。
说明:
不建议通过JDBC,并且使用prepareStatement的方式执行涉及密码的语句(例如:CREATE USER user_name WITH PASSWORD '********';),原因是执行达到prepareThreshold指定次数时,数据库将SQL语句进行缓存,基于安全因素不会将密码进行缓存,该prepareStatement再次执行时会报错(Password must contain at least 8 characters.)。 |
属性类型:Integer 取值范围:0 ~ 2147483647 默认值:5。意味着在执行同一个PreparedStatement对象时,在第五次及以上执行时不再向服务端发送parse消息对statement进行解析,而使用之前在服务端已经解析好的statement。 |
preparedStatementCacheQueries |
确定每个连接中缓存preparedStatement对象所生成query的最大数量。 |
属性类型:Integer 取值范围:0 ~ 2147483647。0表示禁用缓存。 默认值:256。若在prepareStatement()调用中使用超过256个不同的查询,则最近最少使用的查询缓存将被丢弃。 建议:根据业务需要进行调整。配合prepareThreshold使用。 |
preparedStatementCacheSizeMiB |
确定每个连接中缓存preparedStatement对象所生成query的最大值。 |
属性类型:Integer 属性单位:MB 取值范围:0 ~ 2147483647。0表示禁用缓存。 默认值:5。若缓存了超过5MB的query,则最近最少使用的查询缓存将被丢弃。 |
databaseMetadataCacheFields |
指定每个连接可缓存的字段的最大个数。 |
属性类型:Integer 取值范围:0 ~ 2147483647。0表示禁用缓存。 默认值:65536 |
databaseMetadataCacheFieldsMiB |
指定每个连接可缓存的字段的最大值。 |
属性类型:Integer 属性单位:MB 取值范围:0 ~ 2147483647。0表示禁用缓存。 默认值:5 |
stringtype |
指定调用java.sql.PreparedStatement#setString方法时传给数据库的参数类型。 |
属性类型:String 取值范围:unspecified、varchar。
默认值:varchar |
batchMode |
表示是否使用batch模式连接。
说明:
配置batchMode=on时,执行批量插入/批量修改操作,每一列的数据类型以第一条数据指定的类型为准,若数据类型混用可能会导致报错或者插入的数据异常。 |
属性类型:String 取值范围:
默认值:on 建议:如果本身业务框架(例如hibernate)在批量更新时会检测返回值,可以通过调整此参数来解决。 |
fetchsize |
设置数据库连接所创建statement的默认fetchsize。 确定一次fetch在ResultSet中读取的行数,与defaultRowFetchSize功能等价。如果fetchsize和defaultRowFetchSize同时设置,以fetchsize为准。 |
属性类型:Integer 取值范围:0 ~ 2147483647 默认值:0。表示一次从数据库获取所有结果。 建议:用户根据自身的业务查询数据数量和客户端机器内存情况来配置此参数,设置fetchsize时要关闭自动提交(autocommit=false)模式,否则会导致fetchsize无法生效。 |
defaultRowFetchSize |
确定一次fetch在ResultSet中读取的行数。限制每次访问数据库时读取的行数可以避免不必要的内存消耗,从而避免OutOfMemoryException。 |
属性类型:Integer 取值范围:0 ~ 2147483647 默认值:0。表示一次从数据库获取所有结果。 |
reWriteBatchedInserts |
表示批量插入时,是否重写SQL语句。使用该参数时,要求设置batchMode=off。 |
属性类型:Boolean 取值范围:
默认值:false |
unknownLength |
某些GaussDB类型(例如TEXT)没有明确定义的长度,当通过ResultSetMetaData.getColumnDisplaySize和ResultSetMetaData.getPrecision等函数返回关于这些类型的数据时,此参数指定未知长度类型的长度。 |
属性类型:Integer 取值范围:0 ~ 2147483647 默认值:Integer.MAX_VALUE |
uppercaseAttributeName |
该属性开启后会将获取元数据的接口的查询结果转为大写。主要适用场景为数据库中存储元数据全为小写,但要使用大写的元数据作为出参和入参。 涉及到的接口请参见:java.sql.DatabaseMetaData、java.sql.ResultSetMetaData。
说明:
uppercaseAttributeName参数开启后,如果数据库中有小写、大写和大小写混合的元数据,只能查询出小写部分的元数据,并以大写的形式输出,使用前请务必确认元数据的存储是否全为小写以避免数据出错。 |
属性类型:String 取值范围:
默认值:false |
binaryTransfer |
是否启用二进制格式发送和接收数据。 |
属性类型:Boolean 取值范围:
默认值:false |
binaryTransferEnable |
启用二进制传输的类型列表。以逗号分隔,例如:binaryTransferEnable=Integer4_ARRAY,Integer8_ARRAY。 OID编号和名称二选一。比如:OID名称为BLOB,编号为88,可以进行如下配置:binaryTransferEnable=BLOB 或 binaryTransferEnable=88。 |
属性类型:String 默认值:该属性不设置则为空。 |
binaryTransferDisable |
禁用二进制传输的类型列表。以逗号分隔,OID编号和名称二选一。如果binaryTransferDisable与binaryTransferEnable有相同的value,则会禁用。 |
属性类型:String 默认值:该属性不设置则为空。 |
blobMode |
设置setBinaryStream()方法为不同类型的数据赋值。建议从A、B迁移的系统将该值设定为on,从PG迁移的系统设定为off。 |
属性类型:String 取值范围:
默认值:on |
socketFactory |
创建与服务器socket连接的类的名称。该类必须实现接口“javax.net.SocketFactory”,并定义无参或单String参数的构造函数。 |
属性类型:String |
socketFactoryArg |
此值是上面提供的socketFactory类的构造函数的可选参数,不推荐使用。 |
属性类型:String |
receiveBufferSize |
该值用于设置连接流上的SO_RCVBUF。 |
属性类型:Integer 属性单位:字节 取值范围:-1 ~ 2147483647 默认值:-1。表示不设置缓冲区大小。 |
sendBufferSize |
该值用于设置连接流上的SO_SNDBUF。 |
属性类型:Integer 属性单位:字节 取值范围:-1 ~ 2147483647 默认值:-1。表示不设置缓冲区大小。 |
preferQueryMode |
指定执行查询的模式。 |
属性类型:String 取值范围:simple、extended、 extendedForPrepared、extendedCacheEverything。
默认值:extended |
targetServerType |
该参数识别主备数据节点是通过查询URL连接串中,数据节点是否允许写操作来实现的。 |
属性类型:String
取值范围:any、master、slave、preferSlave、clusterMainNode。
默认值:any 查询语句:select local_role, db_state from pg_stat_get_stream_replications(); 建议:有写操作的业务建议配置master,以保证主备切换后能正常连接主节点,但是要注意在主备倒换过程中备机没有完全升主的时候无法正常建连,导致业务语句无法正常执行。 |
priorityServers |
此值用于指定url上配置的前n个节点作为主数据库实例被优先连接。应用于流式容灾场景。 例如:jdbc:gaussdb://host1:port1,host2:port2,host3:port3,host4:port4/database?priorityServers=2。即表示host1与host2为主数据库实例节点,host3与host4为容灾数据库实例节点。 |
属性类型:Integer 取值范围:大于0且小于url上配置的DN数量。 默认值:NULL |
forceTargetServerSlave |
此值用于控制是否开启强制连接备机功能,并在数据库实例发生主备切换时,禁止已存在的连接在升主备机上继续使用。 |
属性类型:Boolean 取值范围:
默认值:false |
traceInterfaceClass |
获取traceId方法接口com.huawei.gaussdb.jdbc.log.Tracer的实现类的完整限定类名。 |
属性类型:String 默认值:NULL |
use_boolean |
设置extended模式下setBoolean()方法绑定的oid类型。 |
属性类型:Boolean 取值范围:
默认值:false |
allowReadOnly |
设置是否允许连接开启只读模式。 |
属性类型:Boolean 取值范围:
默认值:true |
TLSCiphersSupperted |
设置支持的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 |
stripTrailingZeros |
设置是否去除numeric类型后的0,仅对ResultSet.getObject(int columnIndex)生效。 |
属性类型:Boolean 取值范围:
默认值:false |
enableTimeZone |
指定是否启用客户端时区设置。 |
属性类型:Boolean 取值范围:
默认值:true |
loadBalanceHosts |
指定是否使用负载均衡功能。集中式环境下,如果使用此参数需要保证业务中没有写操作。 |
属性类型:Boolean 取值范围:
默认值:false |
compatibilityTags |
将驱动的部分特性恢复到早期版本,以确保前向兼容。可配置一个或多个tag,每个tag代表开启对应的前向兼容性特性,不同tag之间用“,”隔开。目前支持的tag如下: typeMapInitNull:使用该tag后,兼容驱动早期版本的行为,java.sql.Connection中typeMap的初始值为NULL。如果不使用该tag,初始值为空Map。
说明:
一般不建议使用该参数,除非有明确的前向兼容问题。 |
属性类型:String 默认值:该属性不设置则为空。 |
parseCandidatesByDomain |
指定是否根据域名获得候选节点。 |
属性类型:Boolean 取值范围:
默认值:false |
primaryDomains |
指定url上配置的前n个域名作为主数据库实例被优先连接。大于0表示开启主数据库实例被优先连接功能,需要将parseCandidatesByDomain参数设置为true时才能生效。 例如: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上配置的域名数量。 默认值:0。表示关闭。 |
priorityDomains |
指定url上配置的前n个域名作为优先连接的域名。大于0表示开启,需要将parseCandidatesByDomain参数设置为true时才能生效。 例如:jdbc:gaussdb://domain1:port1,domain2:port2,domain3:port3,domain4:port4/database?parseCandidatesByDomain=true&primaryDomains=2&priorityDomains=1,即表示domain1和domain2对应主数据库实例,但是优先连domain1对应的IP,domain2是备用域名,只有domain1不可连后才尝试连domain2。如果发生主备切换,将domain3和domain4标记成主数据库实例,但是优先连domain3对应的IP,domain3不可以连后才尝试连domain4对应的IP。 |
属性类型:Integer 取值范围:0 ~ url上配置的域名数量。如果配置了primaryDomains,则需要小于primaryDomains配置的数值。 默认值:0。表示关闭。 |
refreshDomainResolveTime |
代表域名解析结果的刷新周期,需要将parseCandidatesByDomain参数设置为true时才能生效,生效后会将url中涉及的域名解析刷新时间设置为指定的数值,并在异步线程中定时更新域名解析结果。
须知:
驱动仅通过应用所在环境的DNS服务获取域名解析结果,为保障域名绑定的变更被驱动及时感知,需要应用所在环境的DNS服务保障域名绑定关系变更后能够及时生效。 |
属性类型:Integer 属性单位:s(秒) 取值范围:最小值为1,最大值为2147483647。 默认值:10 |
oracleCompatible |
用户控制驱动接口的A兼容特性。 |
属性类型:String
取值范围:有以下几种取值。
默认值:false |
printSqlInLog |
指定异常信息或日志中是否输出sql语句。 |
属性类型:Boolean 取值范围:
默认值:true |
useGsClobBlobClass |
改变使用java.sql.ResultSet#getObject接口获取获取clob字段和blob字段时返回的对象。 |
属性类型:Boolean 取值范围:
默认值:false |
executeUpdateQueryable |
指定executeUpdate()方法是否开启执行DQL语句。
说明:
不推荐开启此参数。 |
属性类型:Boolean 取值范围:
默认值:false |
dbMonitor |
指定JDBC是否开启连接监控功能。
说明:
|
属性类型:Boolean 取值范围:
默认值:false |
enableStreamingQuery |
控制是否开启流式读功能。 流式读功能:读取数据时,服务端一次获取全部数据,发送到客户端socket缓冲区中,缓冲区占满则暂停,有空余则继续向缓冲区中发送数据,同时JVM逐行从缓冲区中读取数据。优势是处理结果快,不会造成JVM内存溢出。劣势是只能向后遍历,数据处理完毕之前或者statement关闭之前,当前连接不能执行其他操作。 |
属性类型:Boolean 取值范围:
默认值:false |
yearIsDateType |
使用java.sql.ResultSet#getObject接口和java.sql.ResultSet#getString接口获取year数据类型字段时,指定返回的数据对象是否以Date类型呈现。 |
属性类型:Boolean 取值范围:
默认值:true |
enableALT |
设置是否开启ALT功能。如果要开启计划内ALT功能,需要同时配置enableALT、altLevel和gns才可以生效。如果要开启计划外ALT功能,需要同时配置enableALT和altLevel才可以生效,gns可选。 |
属性类型:Boolean 取值范围:
默认值:false |
altLevel |
指定开启的ALT功能级别。 |
属性类型:Char 取值范围:
默认值:该属性不设置则为空,表示ALT只开启数据库实例状态通知功能。 |
gns |
表示GNS的IP地址和端口列表。在JDBC连接GNS时,会按照随机顺序对GNS列表依次进行连接,直到成功和某一个GNS建立连接、连接失败或超时。 GaussDB Notification Service,GaussDB 通知服务。实时获取数据库实例状态,可接受使用JDBC驱动的客户端连接,当数据库实例状态发生改变时,通知客户端。是支持透明事务特性的重要组件。 |
属性类型:String 默认值:该属性不设置则为空。 |
altMaxCacheStatements |
表示计划外ALT每个会话中最大缓存的SQL请求数量。 |
属性类型:Integer 取值范围:0 ~ 2147483647 默认值:10000。如果设置为负数,取值无效,按默认值处理。 |
altMaxCacheSizeMiB |
表示计划外ALT每个会话中最大缓存的SQL语句占用缓存大小。根据SQL请求预估,非精确值。 如果Java程序实际使用内存接近或者超过进程可用内存上限,可能导致运行速度严重降低甚至运行异常,因此应用在设置参数值时不应超过实际承载能力。本参数的最大值可参考如下计算公式: 参数最大值 = 计划外ALT特性内存配额 * 计划外ALT特性内存折算分配比例 / 应用程序最大并发计划外ALT连接数。 其中, 计划外ALT特性内存配额:表示可以给本特性分配使用的内存数量。可以单独新增规划。 也可以根据当前可用内存进行估算,例如:应用内存配额 - 开启计划外ALT特性前的进程内存最大峰值 - 期望预留剩余空闲内存。 计划外ALT特性内存折算分配比例:Java对象实际占用内存计算较为复杂,难以准确评估。考虑到部分Java对象占用内存和内存碎片无法统计,因此使用此比例保守计算。建议取值不超过60%。 |
属性类型:Integer 属性单位:MB 取值范围:0 ~ 2147483647 默认值:1。如果设置为负数,取值无效,按默认值处理。 |
altMaxRetries |
表示计划外ALT最大重连次数。 |
属性类型:Integer 取值范围:0 ~ 2147483647 默认值:0,表示不做限制。如果设置为负数,取值无效,按默认值处理。 |
altReconnectIntervalMs |
表示计划外ALT重连时间间隔。 |
属性类型:Integer 属性单位:ms 取值范围:0 ~ 2147483647 默认值:1000。如果设置为负数,取值无效,按默认值处理。 |
altReplayTimeout |
表示计划外ALT遇到故障后应用程序能容忍的最大恢复时间。 |
属性类型:Integer 属性单位:s 取值范围:0 ~ 2147483647 默认值:3600。如果设置为负数,取值无效,按默认值处理。 |
enableObjectTypeConv |
控制是否允许ResultSet接口中getObject(int, Class<?>)方法支持兼容类型转换。当前已支持Integer与Long、Double、BigDecimal类型互转,Clob与String类型互转。 |
属性类型:Boolean 取值范围:true/false,设置为true则允许兼容类型转换。 默认值:false |
pgCompatible |
用于控制JDBC对SQL语法解析方式是否兼容PostgreSQL。 |
属性类型:Boolean 取值范围:
默认值:false |
JDBC驱动支持数据库DDL操作修改表结构后正常执行。
jdbc.version_num仅用在建连时向内核传递JDBC版本号,不做其他用途,请勿使用。jdbc.version_num从503.1版本开始支持(此前使用jdbc.version参数完成该功能,后续废弃),jdbc.version_num使用规范如下:
jdbc.version_num |
版本 |
范围 |
使用规则 |
内核判断 |
备注 |
---|---|---|---|---|---|
502xx |
505.2 |
50200-50299 |
版本内必须先使用最小可用值 |
版本号>=502xx(最新设置值) |
相关兼容性改动必须同步合入更高版本分支 |
501xx |
505.1 |
50100-50199 |
版本内必须先使用最小可用值 |
版本号>=501xx(最新设置值) |
相关兼容性改动必须同步合入更高版本分支 |
500xx |
505.0 |
50000-50099 |
版本内必须先使用最小可用值 |
版本号>=500xx(最新设置值) |
相关兼容性改动必须同步合入更高版本分支 |
301xx |
503.1 |
30100-30199 |
版本内必须先使用最小可用值 |
版本号>=301xx(最新设置值) |
相关兼容性改动必须同步合入更高版本分支 |