网络
虚拟私有云 VPC
弹性公网IP EIP
弹性负载均衡 ELB
NAT网关 NAT
云专线 DC
虚拟专用网络 VPN
云连接 CC
VPC终端节点 VPCEP
企业路由器 ER
企业交换机 ESW
全球加速 GA
企业连接 EC
云原生应用网络 ANC
安全与合规
安全技术与应用
Web应用防火墙 WAF
企业主机安全 HSS
云防火墙 CFW
安全云脑 SecMaster
DDoS防护 AAD
数据加密服务 DEW
数据库安全服务 DBSS
云堡垒机 CBH
数据安全中心 DSC
云证书管理服务 CCM
威胁检测服务 MTD
态势感知 SA
认证测试中心 CTC
边缘安全 EdgeSec
应用中间件
微服务引擎 CSE
分布式消息服务Kafka版
分布式消息服务RabbitMQ版
分布式消息服务RocketMQ版
API网关 APIG
分布式缓存服务 DCS
多活高可用服务 MAS
事件网格 EG
管理与监管
统一身份认证服务 IAM
消息通知服务 SMN
云监控服务 CES
应用运维管理 AOM
应用性能管理 APM
云日志服务 LTS
云审计服务 CTS
标签管理服务 TMS
配置审计 Config
应用身份管理服务 OneAccess
资源访问管理 RAM
组织 Organizations
资源编排服务 RFS
优化顾问 OA
IAM 身份中心
云运维中心 COC
资源治理中心 RGC
解决方案
高性能计算 HPC
SAP
混合云灾备
开天工业工作台 MIW
Haydn解决方案工厂
数字化诊断治理专家服务
云生态
云商店
合作伙伴中心
华为云开发者学堂
华为云慧通差旅
开发与运维
软件开发生产线 CodeArts
需求管理 CodeArts Req
流水线 CodeArts Pipeline
代码检查 CodeArts Check
编译构建 CodeArts Build
部署 CodeArts Deploy
测试计划 CodeArts TestPlan
制品仓库 CodeArts Artifact
移动应用测试 MobileAPPTest
CodeArts IDE Online
开源镜像站 Mirrors
性能测试 CodeArts PerfTest
应用管理与运维平台 ServiceStage
云应用引擎 CAE
开源治理服务 CodeArts Governance
华为云Astro轻应用
CodeArts IDE
Astro工作流 AstroFlow
代码托管 CodeArts Repo
漏洞管理服务 CodeArts Inspector
联接 CodeArtsLink
软件建模 CodeArts Modeling
Astro企业应用 AstroPro
CodeArts盘古助手
华为云Astro大屏应用
计算
弹性云服务器 ECS
Flexus云服务
裸金属服务器 BMS
云手机服务器 CPH
专属主机 DeH
弹性伸缩 AS
镜像服务 IMS
函数工作流 FunctionGraph
云耀云服务器(旧版)
VR云渲游平台 CVR
Huawei Cloud EulerOS
云化数据中心 CloudDC
网络
虚拟私有云 VPC
弹性公网IP EIP
弹性负载均衡 ELB
NAT网关 NAT
云专线 DC
虚拟专用网络 VPN
云连接 CC
VPC终端节点 VPCEP
企业路由器 ER
企业交换机 ESW
全球加速 GA
企业连接 EC
云原生应用网络 ANC
CDN与智能边缘
内容分发网络 CDN
智能边缘云 IEC
智能边缘平台 IEF
CloudPond云服务
安全与合规
安全技术与应用
Web应用防火墙 WAF
企业主机安全 HSS
云防火墙 CFW
安全云脑 SecMaster
DDoS防护 AAD
数据加密服务 DEW
数据库安全服务 DBSS
云堡垒机 CBH
数据安全中心 DSC
云证书管理服务 CCM
威胁检测服务 MTD
态势感知 SA
认证测试中心 CTC
边缘安全 EdgeSec
大数据
MapReduce服务 MRS
数据湖探索 DLI
表格存储服务 CloudTable
可信智能计算服务 TICS
推荐系统 RES
云搜索服务 CSS
数据可视化 DLV
数据接入服务 DIS
数据仓库服务 GaussDB(DWS)
数据治理中心 DataArts Studio
湖仓构建 LakeFormation
智能数据洞察 DataArts Insight
应用中间件
微服务引擎 CSE
分布式消息服务Kafka版
分布式消息服务RabbitMQ版
分布式消息服务RocketMQ版
API网关 APIG
分布式缓存服务 DCS
多活高可用服务 MAS
事件网格 EG
开天aPaaS
应用平台 AppStage
开天企业工作台 MSSE
开天集成工作台 MSSI
API中心 API Hub
云消息服务 KooMessage
交换数据空间 EDS
云地图服务 KooMap
云手机服务 KooPhone
组织成员账号 OrgID
云空间服务 KooDrive
管理与监管
统一身份认证服务 IAM
消息通知服务 SMN
云监控服务 CES
应用运维管理 AOM
应用性能管理 APM
云日志服务 LTS
云审计服务 CTS
标签管理服务 TMS
配置审计 Config
应用身份管理服务 OneAccess
资源访问管理 RAM
组织 Organizations
资源编排服务 RFS
优化顾问 OA
IAM 身份中心
云运维中心 COC
资源治理中心 RGC
区块链
区块链服务 BCS
数字资产链 DAC
华为云区块链引擎服务 HBS
解决方案
高性能计算 HPC
SAP
混合云灾备
开天工业工作台 MIW
Haydn解决方案工厂
数字化诊断治理专家服务
价格
成本优化最佳实践
专属云商业逻辑
云生态
云商店
合作伙伴中心
华为云开发者学堂
华为云慧通差旅
其他
管理控制台
消息中心
产品价格详情
系统权限
客户关联华为云合作伙伴须知
公共问题
宽限期保留期
奖励推广计划
活动
云服务信任体系能力说明
开发与运维
软件开发生产线 CodeArts
需求管理 CodeArts Req
流水线 CodeArts Pipeline
代码检查 CodeArts Check
编译构建 CodeArts Build
部署 CodeArts Deploy
测试计划 CodeArts TestPlan
制品仓库 CodeArts Artifact
移动应用测试 MobileAPPTest
CodeArts IDE Online
开源镜像站 Mirrors
性能测试 CodeArts PerfTest
应用管理与运维平台 ServiceStage
云应用引擎 CAE
开源治理服务 CodeArts Governance
华为云Astro轻应用
CodeArts IDE
Astro工作流 AstroFlow
代码托管 CodeArts Repo
漏洞管理服务 CodeArts Inspector
联接 CodeArtsLink
软件建模 CodeArts Modeling
Astro企业应用 AstroPro
CodeArts盘古助手
华为云Astro大屏应用
存储
对象存储服务 OBS
云硬盘 EVS
云备份 CBR
高性能弹性文件服务 SFS Turbo
弹性文件服务 SFS
存储容灾服务 SDRS
云硬盘备份 VBS
云服务器备份 CSBS
数据快递服务 DES
云存储网关 CSG
专属分布式存储服务 DSS
数据工坊 DWR
地图数据 MapDS
键值存储服务 KVS
容器
云容器引擎 CCE
云容器实例 CCI
容器镜像服务 SWR
云原生服务中心 OSC
应用服务网格 ASM
华为云UCS
数据库
云数据库 RDS
数据复制服务 DRS
文档数据库服务 DDS
分布式数据库中间件 DDM
云数据库 GaussDB
云数据库 GeminiDB
数据管理服务 DAS
数据库和应用迁移 UGO
云数据库 TaurusDB
人工智能
AI开发平台ModelArts
华为HiLens
图引擎服务 GES
图像识别 Image
文字识别 OCR
自然语言处理 NLP
内容审核 Moderation
图像搜索 ImageSearch
医疗智能体 EIHealth
企业级AI应用开发专业套件 ModelArts Pro
人脸识别服务 FRS
对话机器人服务 CBS
语音交互服务 SIS
人证核身服务 IVS
视频智能分析服务 VIAS
城市智能体
自动驾驶云服务 Octopus
盘古大模型 PanguLargeModels
IoT物联网
设备接入 IoTDA
全球SIM联接 GSL
IoT数据分析 IoTA
路网数字化服务 DRIS
IoT边缘 IoTEdge
设备发放 IoTDP
企业应用
域名注册服务 Domains
云解析服务 DNS
企业门户 EWP
ICP备案
商标注册
华为云WeLink
华为云会议 Meeting
隐私保护通话 PrivateNumber
语音通话 VoiceCall
消息&短信 MSGSMS
云管理网络
SD-WAN 云服务
边缘数据中心管理 EDCM
云桌面 Workspace
应用与数据集成平台 ROMA Connect
ROMA资产中心 ROMA Exchange
API全生命周期管理 ROMA API
政企自服务管理 ESM
视频
实时音视频 SparkRTC
视频直播 Live
视频点播 VOD
媒体处理 MPC
视频接入服务 VIS
数字内容生产线 MetaStudio
迁移
主机迁移服务 SMS
对象存储迁移服务 OMS
云数据迁移 CDM
迁移中心 MGC
专属云
专属计算集群 DCC
开发者工具
SDK开发指南
API签名指南
DevStar
华为云命令行工具服务 KooCLI
Huawei Cloud Toolkit
CodeArts API
云化转型
云架构中心
云采用框架
用户服务
账号中心
费用中心
成本中心
资源中心
企业管理
工单管理
客户运营能力
国际站常见问题
支持计划
专业服务
合作伙伴支持计划
我的凭证
华为云公共事业服务云平台
工业软件
工业数字模型驱动引擎
硬件开发工具链平台云服务
工业数据转换引擎云服务
本文导读

展开导读

连接参数参考

更新时间:2025-01-26 GMT+08:00
分享

info参数连接的所有属性名称对大小写敏感。常用的属性如表1所示。

表1 info参数的连接属性

属性名称

属性说明

属性值

PGDBNAME

表示数据库名称(url中无需配置该参数,自动从Properties文件中解析)。

属性类型:String

PGHOST

主机IP地址(url中无需配置该参数,自动从Properties文件中解析),同时支持IPv4和IPv6。若配置多个CN,它们的IP和端口用“:”分隔,并作为整体以逗号分隔其他CN

属性类型:String

PGPORT

主机端口号(url中无需配置该参数,自动从Properties文件中解析)。

属性类型:Integer

user

表示创建连接的数据库用户。

属性类型:String

password

表示数据库用户的密码。

属性类型:String

driverInfoMode

控制驱动描述信息的输出模式。

属性类型:String

取值范围:postgresql、gaussdb。

  • postgresql:表示输出postgresql相关的驱动描述信息。
  • gaussdb:表示输出gaussdb相关的驱动描述信息。

默认值:postgresql

enable_ce

表示密态等值查询的能力。

属性类型:Integer

取值范围:

  • 1:表示JDBC支持密态等值查询基本能力。
  • 其他值:表示不支持密态等值查询基本能力。

默认值:该属性不设置则为空,表示不支持密态等值查询。

refreshClientEncryption

指定密态数据库是否支持客户端缓存刷新。

属性类型:String

取值范围:

  • 1或NULL:表示密态数据库支持客户端缓存刷新。
  • 其他字符串:表示密态数据库不支持客户端缓存刷新。

默认值:NULL

loggerLevel

指定日志记录级别。

属性类型:String

取值范围:目前支持4种级别(不区分大小写):OFF、INFO、DEBUG、TRACE。

  • OFF:表示关闭日志。
  • INFO、DEBUG和TRACE:表示记录的日志信息详细程度不同。

默认值:该属性不设置则为空,与设置为INFO等效。

loggerFile

用于指定日志输出路径(目录和文件名)。一般要求明确指定日志目录和文件名。

若只指定文件名,未指定目录则日志生成在客户端运行程序目录;若不配置或配置的路径不存在,则日志会默认通过流输出。此参数已废弃,不再生效,如需使用可通过 java.util.logging 属性文件或系统属性进行配置。

属性类型:String

logger

表示JDBC Driver要使用的日志输出框架。JDBC Driver支持对接用户应用程序使用的日志输出框架。目前支持的第三方日志输出框架只有基于Slf4j-API的日志框架。具体使用方式,请参见日志管理

属性类型:String

取值范围:Slf4JLogger、JdkLogger

  • 如果缺省,则JDBC Driver使用JdkLogger。
  • 采用基于Slf4j-API第三方日志框架。

allowEncodingChanges

设置该参数值为true进行字符集类型更改,配合参数characterEncoding设置字符集,二者使用“&”分隔。例:allowEncodingChanges=true&characterEncoding=UTF8。

属性类型:Boolean

取值范围:

  • true:表示更改字符集类型。
  • false:表示不更改字符集类型。

默认值:false

characterEncoding

需要配合allowEncodingChanges使用,allowEncodingChanges为false的情况下,characterEncoding仅允许设置为UTF8;allowEncodingChanges为true的情况下,characterEncoding可在取值范围内进行设置。

属性类型:String

取值范围:UTF8、GBK、LATIN1、GB18030

说明:

当连接到字符集为GB18030_2022的数据库时,characterEncoding设置为GB18030_2022不生效,会默认使用UTF8,需要设置为GB18030才能正常解析服务端的GB18030_2022字符。

默认值:UTF8

currentSchema

设置当前连接的schema,在search-path(搜索路径)中指定要设置的schema。如果schema名包含除字母、数字、下划线之外的特殊字符,需要在schema名上加引号,注意加引号后schema名大小写敏感。如需配置多个schema,要用逗号“,”进行分隔。

例如:currentSchema=schema_a,"schema-b","schema/c"

属性类型:String

缺省:如果未设置,则默认schema为连接使用的用户名。

loadBalanceHosts

指定是否使用负载均衡功能。

属性类型:Boolean

取值范围:

  • true:表示使用洗牌算法从候选主机中随机选择一个主机建立连接。
  • false:表示顺序连接url中指定的多个主机。

默认值:false

autoBalance

指定负载均衡的策略。

须知:
  • 负载均衡是基于连接级别,不是基于事务级别。如果连接是长连接,并且连接上的负载不均衡,无法保证CN主机上的负载均衡。
  • 该参数仅能在分布式场景下使用,集中式场景不可使用。
  • 如果在连接容灾集群时开启了负载均衡功能,那么查询请求会发送到主集群上,导致查询性能会受到影响。
  • 在开启负载均衡时,url中可以配置浮动IP或数据IP,如果配置为浮动IP,系统会根据浮动IP获取对应的数据IP,通过获取的数据IP实现负载均衡。因此无论url中配置浮动IP或数据IP时,都需要确保数据IP网络连接正常,否则负载均衡功能将使用异常。

属性类型:String

取值范围:

  • true、balance或roundrobin:表示开启JDBC负载均衡功能,将应用程序的多个连接均衡到数据库集群中的各个可用CN

    例如:

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

    JDBC会定期刷新整个集群的可用CN列表(CN列表中获取的host是数据IP),该刷新周期可以通过参数refreshCNIpListTime进行配置,默认值为10s。比如获取到的列表为:

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

    在启用负载均衡时,host1和host2仅在首次连接时保证高可用性。之后,Driver将从host1、host2、host3和host4中依次选择可用CN来刷新可用CN列表。后续用户新建的连接将使用轮询(RoundRobin)算法从host1、host2、host3和host4中选择CN主机进行连接。

  • priorityn:表示开启JDBC优先级负载均衡功能,将应用程序的多个连接首先均衡到url上配置的前n个中可用的CN数据库节点。当url上配置前n个节点全部不可用时,连接会随机分配到数据库集群中其他可用CN数据库节点。n为正整数,且小于url上配置的CN数量。

    例如:

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

    JDBC将定期获取整个集群可用CN列表,比如获取到的列表为:

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

    其中host1和host2处于AZ1,host3和host4处于AZ2。Driver将优先从host1、host2中做负载均衡,host1和host2全部不可用才从host3、host4、host5和host6中随机选择CN主机连接。

  • shuffle:表示开启JDBC随机负载均衡功能,将应用程序的多个连接随机均衡到数据库集群中的各个可用CN。

    例如:

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

    JDBC将定期获取整个集群的可用CN列表,比如获取到的列表为:

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

    host1、host2和host3仅在首次连接时保证高可用性,后续将使用洗牌(shuffle)算法在刷新后的CN列表中随机选择一个CN节点进行连接。

  • specified:表示开启JDBC负载均衡功能,并且只在用户url中指定的节点上建立连接。

    例如:

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

    JDBC 将识别用户指定的 host1 和 host2 为主集群中用于建立连接的节点,而 host3 和 host4 则作为备集群的连接节点。建立连接时,JDBC 会首先在 host1 和 host2 上均匀分配连接。如果主集群中的所有节点(host1 和 host2)均发生故障,JDBC 不会尝试在剩余的集群节点上建立连接。当备节点升级为主节点后,JDBC 会在 host3 和 host4 上均匀分配连接。如果备集群中的所有节点(host3 和 host4)均发生故障,JDBC 同样不会尝试在剩余的集群节点上建立连接。

  • false:表示不开启JDBC负载均衡功能和优先级负载均衡功能。

默认值:false

refreshCNIpListTime

获取CN列表的缓存有效时间。JDBC在建连时会检测数据库集群CN状态,在refreshCNIpListTime时间内可信。超过则状态失效,下次建连时再次获取可用CN的IP列表。

属性类型:Integer

属性单位:s

取值范围:1 ~ 9999

默认值:10

建议:根据业务需要进行调整,需要配合autoBalance进行使用。

hostRecheckSeconds

JDBC尝试连接主机后会保存主机状态:连接成功或连接失败。在hostRecheckSeconds时间内保持可信,超过则状态失效。

属性类型:Integer

属性单位:s

取值范围:0 ~ 2147483647

默认值:10

ssl

表示以SSL方式连接数据库。包括NonValidatingFactory通道和使用证书的2种SSL连接方式。

属性类型:Boolean

取值范围:

  • true:表示以SSL方式连接数据库。
  • false:表示不以SSL方式连接数据库。

默认值:该属性不设置则为空,与false等效。

sslmode

SSL认证方式。

属性类型:String

取值范围:disable、allow、prefer、require、verify-ca、verify-full。

  • disable:不使用SSL安全连接。
  • allow:如果数据库服务器要求使用,则可以使用SSL安全加密连接,但不验证数据库服务器的真实性。
  • prefer:如果数据库支持,那么首选使用SSL连接,但不验证数据库服务器的真实性。
  • require:只尝试SSL连接,不会检查服务器证书是否由受信任的CA签发,且不会检查服务器主机名与证书中的主机名是否一致。
  • verify-ca:只尝试SSL连接,并且验证服务器是否具有由可信任的证书机构签发的证书。
  • verify-full:只尝试SSL连接,并且验证服务器是否具有由可信任的证书机构签发的证书,以及验证服务器主机名是否与证书中的一致。

默认值:该属性不设置则为空,与require等效。

sslcert

提供客户端证书文件的完整路径。证书类型为End Entity。

属性类型:String

默认值:该属性不设置则为空,读取用户根目录。

sslkey

提供密钥文件的完整路径,使用时需将该密钥转换为DER格式。

openssl pkcs8 -topk8 -outform DER -in client.key -out client.key.pk8 -nocrypt

属性类型:String

默认值:该属性不设置则为空,读取用户根目录。

sslrootcert

SSL根证书的文件名。根证书的类型为CA。

属性类型:String

默认值:该属性不设置则为空,读取用户根目录。

sslpassword

SSL密码,提供给ConsoleCallbackHandler使用。

属性类型:String

sslpasswordcallback

SSL密码提供者的类名。

属性类型:String

默认值:com.huawei.opengauss.jdbc.ssl.jdbc4.LibPQFactory.ConsoleCallbackHandler

sslfactory

指定SSLSocketFactory在建立SSL连接时用的类名。

属性类型:String

默认值:该属性不设置则为空。

sslprivatekeyfactory

指定实现私钥解密方法的接口com.huawei.opengauss.jdbc.ssl.PrivateKeyFactory的实现类的完整限定类名。如果不提供,首先尝试默认的jdk私钥解密算法,如果无法解密,则使用com.huawei.opengauss.jdbc.ssl.BouncyCastlePrivateKeyFactory,用户需要提供bcpkix-jdk15on.jar包,版本建议1.65以上。

属性类型:String

默认值:该属性不设置则为空,会尝试使用默认的jdk私钥解密算法进行解密。

sslfactoryarg

此值是sslfactory类的构造函数的可选参数(不推荐使用)。

属性类型:String

默认值:该属性不设置则为空。

sslhostnameverifier

主机名验证程序的类名。接口实现javax.net.ssl.HostnameVerifier,默认使用org.postgresql.ssl.PGjdbcHostnameVerifier。

属性类型:String

默认值:该属性不设置则为空,默认使用org.postgresql.ssl.PGjdbcHostnameVerifier。

loginTimeout

指建立数据库连接的等待时间。当url配置多IP时,若获取连接花费的时间超过此值,则连接失败,不再尝试后续IP。

loginTimeout时间包括connectTimeoutsocketTimeoutInConnecting,计算方式为:loginTimeout=(connectTimeout+连接认证时间+初始化语句执行时间)*节点数量。

须知:
  • 此参数设置后对于多IP而言,时间是尝试连接IP的时间,可能会出现因为设置的值较小导致后面的IP无法连接的问题。例如设置了三个IP,如果loginTimeout为5s,但前两个IP建连总共用了5s,第三个IP会无法进行连接。
  • 当CPU、内存、I/O负载中的任意一项接近100%时,会出现连接慢的现象,可能会导致连接时间超过阈值的问题,可通过以下方式进行问题排查:
    1. 登录连接慢的物理机或通过管理工具查询资源负载:可通过top命令等确认CPU使用率;通过free命令确认内存使用情况;通过iostat命令确认I/O负载;此外还可以通过cm_agent中的监控日志,以及数据库运维平台中的监测记录进行检查。
    2. 针对短时间内大量慢查询导致的峰值负载场景,可通过[数据库服务器的端口号+1]端口连接,查询pg_stat_activity视图;针对慢查询,可以使用系统函数pg_terminate_backend(pid int)进行查杀会话。
    3. 针对业务量长期超负载情况(即无明显慢查询,或慢查询查杀后但新的查询依然会变成慢查询),应考虑降低业务负载、增加数据库资源的方式进行优化。

属性类型: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执行时间进行配置。

属性类型:Integer

属性单位:s(秒)

取值范围:0 ~ 2147483647。0表示已禁用,timeout不生效。

默认值:0

socketTimeoutInConnecting

用于控制建连阶段socket读取操作的超时值。在建连阶段,如果从服务器读取数据流超过此阈值,则尝试查找下一个节点建连。

属性类型:Integer

属性单位:s(秒)

取值范围:0 ~ 2147483647。0表示已禁用,timeout不生效。

默认值:5

statementTimeout

用于控制connection中statement执行时间的超时值。如果statement执行时间超过此值,则取消该statement执行。

属性类型:Integer

属性单位:ms(毫秒)

取值范围:0 ~ 2147483647。0表示已禁用,timeout不生效。

默认值:0

cancelSignalTimeout

发送取消命令的消息本身可能会阻塞,用于控制取消命令的“connect超时”和“socket超时”。如果取消命令超过指定时间未响应,会中断该连接,减少占用客户端资源。

属性类型:Integer

属性单位:s(秒)

取值范围:0 ~ 2147483647。0表示已禁用,timeout不生效。

默认值:10

tcpKeepAlive

TCP保活探测功能的控制开关。

属性类型:Boolean

取值范围:

  • true:表示启用TCP保活探测功能。
  • false:表示禁用TCP保活探测功能。

默认值:false

logUnclosedConnections

客户端可能由于未调用Connection对象的close()方法而泄漏Connection对象。最终这些对象将被回收,并且调用finalize()方法。

属性类型:Boolean

取值范围:

  • true:表示如果用户没有调用close()方法,finalize()方法将关闭Connection对象。
  • false:表示如果用户没有调用close()方法,将不会关闭Connection对象。

默认值:false

assumeMinServerVersion

该参数设置要连接的服务器版本。

如assumeMinServerVersion高于或者等于9.0,可以在建立连接时减少相关包的发送,客户端不会发送请求将float精度设置为3(即维持原来设置的float精度2)。

属性类型:String

默认值:该属性不设置则为空。

ApplicationName

表示正在连接的JDBC驱动名称。在CN上查询PGXC_STAT_ACTIVITY系统视图可以看到正在连接的客户端信息,application_name字段表示JDBC驱动名称。

属性类型:String

默认值:PostgreSQL JDBC Driver

connectionExtraInfo

表示驱动是否将当前驱动的部署路径、进程属主用户、url连接配置信息上报到数据库。

属性类型:Boolean

取值范围:

  • true:表示JDBC驱动会将当前驱动的部署路径、进程属主用户、url连接配置信息上报到数据库中,记录在connection_info参数里,同时可以在PG_STAT_ACTIVITY和PGXC_STAT_ACTIVITY中查询到。
  • false:表示JDBC驱动不会将当前驱动的部署路径、进程属主用户、url连接配置信息上报到数据库中。

默认值:false

autosave

如果查询失败,指定驱动程序应该执行的操作。

属性类型:String

取值范围:always、never、conservative。

  • always:表示JDBC驱动程序在每次查询之前设置一个保存点,并在失败时回滚到该保存点。
  • never:表示无保存点。
  • conservative:表示每次查询都会设置保存点,但是只会在“statement XXX无效”等情况下回滚并重试。

默认值:never

protocolVersion

连接协议版本号。

属性类型:Integer

取值范围:目前仅支持1和3。

  • 1:表示连接V1服务端。
  • 3:表示连接V5服务端。

默认值:该属性不设置则为空,与设置为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:表示参数将作为varchar类型发送给服务器。
  • unspecified:表示参数将不指定类型发送到服务器,服务器将尝试推断适当的类型。

默认值:varchar

batchMode

表示是否使用batch模式连接。

说明:

配置batchMode=on时,执行批量插入/批量修改操作,每一列的数据类型以第一条数据指定的类型为准,若数据类型混用可能会导致报错或者插入的数据异常。

属性类型:String

取值范围:

  • on:表示开启batch模式,可以提升批量更新的性能。设置batchMode=on执行成功的返回结果为[count, 0, 0...0],数组第一个元素为批量影响的总条数。
  • off:表示关闭batch模式。设置batchMode=off执行成功的返回结果为[1, 1, 1...1],数组各元素对应单次修改的影响条数。

默认值: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

取值范围:

  • true:表示批量插入时,可将N条插入语句合并为一条:INSERT INTO TABLE_NAME VALUES (values1, ..., valuesN), ..., (values1, ..., valuesN);
  • false:表示批量插入时,不重写SQL语句。

默认值:false

unknownLength

某些GaussDB类型(例如TEXT)没有明确定义的长度,当通过ResultSetMetaData.getColumnDisplaySize和ResultSetMetaData.getPrecision等函数返回关于这些类型的数据时,此参数指定未知长度类型的长度。

属性类型:Integer

取值范围:0 ~ 2147483647

默认值:2147483647

binaryTransfer

是否启用二进制格式发送和接收数据。

属性类型:Boolean

取值范围:

  • true:表示启用。
  • false:表示不启用。

默认值:false

binaryTransferEnable

启用二进制传输的类型列表。以逗号分隔,例如:binaryTransferEnable=Integer4_ARRAY,Integer8_ARRAY。

OID名称和编号二选一。比如:OID名称为BLOB,编号为88,可以进行如下配置:binaryTransferEnable=BLOB 或 binaryTransferEnable=88。

属性类型:String

默认值:该属性不设置则为空。

binaryTransferDisable

禁用二进制传输的类型列表。以逗号分隔,OID名称和编号二选一。如果binaryTransferDisable与binaryTransferEnable有相同的value,则会禁用。

属性类型:String

默认值:该属性不设置则为空。

blobMode

设置setBinaryStream()方法为不同类型的数据赋值。建议从ORA、MYSQL迁移的系统将该值设定为on,从PG迁移的系统设定为off。

属性类型:String

取值范围:

  • on:表示为blob类型数据赋值。
  • off:表示为bytea类型数据赋值。

默认值: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。

  • simple:表示只发送Q消息,仅支持文本模式,不支持parse与bind;
  • extended:表示支持parse、bind和execute;
  • extendedForPrepared:表示只有Prepared Statement对象使用扩展查询,Statement对象只使用简单查询;
  • extendedCacheEverything:表示会缓存每个Statement对象所生成的query。

默认值:extended

ApplicationType

设置是否开启分布式写入和查询。该项设置只有数据库处于gtm free场景的情况下才会有效。

属性类型:String

取值范围:not_perfect_sharding_type、perfect_sharding_type

  • not_perfect_sharding_type:开启分布式写入和查询。
  • perfect_sharding_type:默认禁止分布式写入和查询,只有在sql文中加入/* multinode */ 才能执行分布式写入和查询。

默认值:not_perfect_sharding_type

priorityServers

指定url上配置的前n个节点作为主集群被优先连接。应用于流式容灾场景。

例如:jdbc:postgresql://host1:port1,host2:port2,host3:port3,host4:port4/database?priorityServers=2。即表示host1与host2为主集群节点,host3与host4为容灾集群节点。

属性类型:Integer

取值范围:大于0且小于url上配置的CN数量。

默认值:NULL

usingEip

指定是否使用弹性公网IP实现负载均衡。

须知:

当usingEip=true时,url中的host需使用弹性公网IP;当usingEip=false时,url中的host需使用数据IP,否则会导致priorityn负载均衡策略失效。

属性类型:Boolean

取值范围:

  • true:表示使用弹性公网IP实现负载均衡。
  • false:表示使用数据IP实现负载均衡。

默认值:true

traceInterfaceClass

获取traceId方法接口org.postgresql.log.Tracer的实现类的完整限定类名。

属性类型:String

默认值:NULL

use_boolean

设置extended模式下setBoolean()方法绑定的oid类型。

属性类型:Boolean

取值范围:

  • false:表示绑定int2类型。
  • true:表示绑定bool类型。

默认值:false

allowReadOnly

设置是否允许连接开启只读模式。

属性类型:Boolean

取值范围:

  • true:允许设置只读模式。
  • false:不允许设置只读模式,此时调用connection.setReadOnly(true)不生效,仍可以修改数据。

默认值: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

取值范围:

  • true:表示去除numeric类型小数点后的0。
  • false:表示不去除numeric类型小数点后的0。

默认值:false

enableTimeZone

指定是否启用客户端时区设置。

属性类型:Boolean

取值范围:

  • true:表示启用客户端时区设置(获取JVM时区指定数据库时区)。
  • false:表示不启用客户端时区设置(使用数据库时区)。

默认值:true

enableStandbyRead

指定是否开启备机读模式。

属性类型:Boolean

取值范围:

  • true:表示启用。
  • false:表示禁用。

默认值:false

oracleCompatible

用户控制驱动接口的ORA兼容特性。

属性类型:String

取值范围:
  • true:表示开启驱动侧所有的ORA兼容特性。
  • false:表示关闭驱动侧所有的ORA兼容特性。
  • "tag1,tag2,tag3":配置一个或多个tag,tag之间用逗号隔开,表示开启驱动侧部分的ORA兼容特性,每个tag对应一个ORA兼容特性。

    当前支持的tag有:

    • getProcedureColumns:DatabaseMetaData#getProcedureColumns接口的行为兼容ORA行为。
    • batchInsertAffectedRows:reWriteBatchedInserts开启后,执行批量插入接口Statement#executeBatch的返回结果兼容ORA行为。

默认值:false

printSqlInLog

指定异常信息或日志中是否输出SQL语句。

属性类型:Boolean

取值范围:

  • true:表示启用。
  • false:表示禁用。

默认值:true

setFloat

表示调用setFloat或者setObject指定类型为float时,传递给内核的Oid是否为float4的Oid。

属性类型:Boolean

取值范围:

true:表示传递给内核的Oid为float4。

false:表示传递给内核的Oid为float8。

默认值: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(最新设置值)

相关兼容性改动必须同步合入更高版本分支

300xx

503.0

30000-30099

版本内必须先使用最小可用值

版本号>=300xx(最新设置值)

相关兼容性改动必须同步合入更高版本分支

提示

您即将访问非华为云网站,请注意账号财产安全

文档反馈

文档反馈

意见反馈

0/500

标记内容

同时提交标记内容