连接数据库时,应用程序通过了一个连接字符串。这个字符串中指定了主机、用户名、密码等参数。 连接字符串的格式为 key=value,且不区分大小写。包含特殊字符的值可以用双引号引起来。 关于更多信息,请参阅 Connection Strings in ADO.NET 。
下面是 Kbdndp 提供的连接字符串参数,以及一些标准的 PostgreSQL 环境变量。
参数 | 描述 | 默认 |
---|---|---|
host | 指定要运行服务器的计算机主机名。如果该值以斜杠开头,则将其用作Unix域套接字的目录(仍然需要指定一个端口)。 | 必选 |
port | KingbaseES 服务器的 TCP 端口。 | 54321 |
database | 要连接的的 KingbaseES 数据库。 | 与用户名相同 |
username | 要连接的用户名。如果使用 IntegratedSecurity,则不需要。 | 用户名 |
password | 要连接的用户的密码。如果使用 IntegratedSecurity,则不需要。 | 密码 |
passfile | KingbaseES 密码文件的路径,从中获取密码 | KESPSSSFILE文件 |
参数 | 描述 | 默认 |
---|---|---|
SSL Mode | 根据服务器支持情况来控制是否使用 SSL。可以设置为'Require'、'Disable'或者'Prefer'。更多信息请参考 安全和加密 。 | Disable |
Trust Server Certificate | 是否信任服务器证书而不验证它。更多信息请参考 安全和加密 。 | False |
Use SLL Stream | Kdbndp使用自己的内部TLS/SSL实现。打开这个设置则换成使用 .NET SslStream | False |
Check Certificate Revocation | 认证时是否检查证书吊销列表。 | False |
Integrated Security | 是否使用集成安全登录(GSS/SSPI)。更多信息请参考 安全和加密 。 | False |
Persist Security Info | 获取或设置一个 Boolean 值,该值指示在连接打开或已经处于打开状态时,是否不将安全敏感信息(如密码)作为连接的一部分返回。 | False |
Kerberos Service Name | 用于身份验证的Kerberos服务名称。更多信息请参考 安全和加密 。 | postgres |
Include Realm | 用于身份验证的Kerberos领域。更多信息请参考 安全和加密 。 |
参数 | 描述 | 默认 |
---|---|---|
Pooling | 是否使用连接池。 | true |
Minimum Pool Size | 连接池最小连接数。 | 1 |
Maximum Pool Size | 连接池最大连接数。 | 100 |
Connection Idle Lifetime | 当连接总数超过 MinPoolSize 时,关闭池中的空闲连接需要等待的时间(以秒为单位)。 | 300 |
Connection Pruning Interval | 在尝试删除超过空闲生命周期的空闲连接之前,连接池需要等待多少秒。 | 10 |
参数 | 描述 | 默认 |
---|---|---|
Timeout | 在终止尝试并生成错误之前,尝试建立连接的等待时间(以秒为单位)。 | 15 |
Command Timeout | 在终止尝试并生成错误之前,尝试执行命令时的等待时间(以秒为单位)。 设置为0表示无穷大。 | 30 |
Internal Command Timeout | 在终止尝试并生成错误之前,尝试执行内部命令时的等待时间(以秒为单位)。 设置为-1表示使用CommandTimeout,0表示没有超时限制。 | -1 |
Keepalive | Kdbndp 发送 keepalive 查询之前连接不活跃的秒数。 | disabled |
TCP Keepalive | 如果为指定覆盖,是否将TCP keepalive 设置为与系统默认值相同。 | disabled |
TCP Keepalive Time | 在发送TCP keepalive 查询之前,连接不活跃的毫秒数。不推荐使用此项,可以使用Keepalive代替。仅在Windows上支持。 | disabled |
TCP Keepalive Interval | 如果没有收到确认,则发送连续保持活动数据包之间的时间间隔(以毫秒为单位)。 TCP Keepalive Time 也必须非0。尽在Windows上支持 | 与TCP Keepalive Time 的值保持一致。 |
参数 | 描述 | 默认 |
---|---|---|
Max Auto Prepare | 在任何给定点可以自动准备的最大SQL语句数。超过这个值,将回收最近使用最少的语句。设置为0将禁用自动准备。 | 0 |
Auto Prepare Min Usages | SQL语句在自动准备之前使用的最少次数。 | 5 |
Use Perf Counters | 使Kdbndp将有关连接使用的性能信息写入Windows性能计数器。 | false |
Read Buffer Size | 确定Kdbndp在读取时使用的内部缓冲区的大小。如果从数据库传输大值,增大这个参数值可以提高性能。 | 8192 |
Write Buffer Size | 确定Kdbndp在写入时使用的内部缓冲区大小。如果将大值传输到数据库,增大这个参数值可以提高性能。 | 8192 |
Scoket Receive Buffer Size | 确定套接字接收缓冲区的大小。 | System-dependent |
Socket Send Buffer Size | 确定套接字发送缓冲区的大小。 | System-dependent |
No Reset On Close | 在某些情况下,通过在连接状态返回池中时不重置连接状态来提高性能,但可能泄露状态。仅在基准测试显示性能改进时使用。 | false |
参数 | 描述 | 默认 |
---|---|---|
Application Name | 在连接启动期间要发送到后端的可选应用程序名称参数。 | |
Enlist | 是否加入TransactionScope环境。 | true |
Search Path | 设置架构搜索路径。 | |
Client Encoding | 获取或设置 client-encoding 参数。 | |
Timezone | 获取或设置会话时区。 | |
EF Template Database | 在 Entity Framework 中创建数据库时指定的数据库模板。 | template1 |
Load Table Composites | 加载表复合类型定义,而不仅仅是独立的复合类型。 | false |
参数 | 描述 | 默认 |
---|---|---|
Server Compatibility Mode | 特殊 KingbaseES 服务器类型的兼容模式。目前支持"Redshift"以及"NoTypeLoading",它将绕过 KingbaseES 目录表中的正常类型加载机制,并支持基本数据类型的硬编码列表。 | none |
Convert Infinity DataTime | 使MaxValue和MinValue的时间戳和日期可读为无穷大和负无穷大。 | false |