Composer 中的 ThingWorx 模型定义 > 数据存储 > 持久化方案提供工具 > 使用 PostgreSQL 作为持久化方案提供工具
使用 PostgreSQL 作为持久化方案提供工具
PostgreSQL 为开源的对象关系数据库系统。PostgreSQL 持久化方案提供工具支持模型和数据提供工具。
* 
PostgreSQL 入门需要进行注册、安装和配置。这个过程大部分是独立于 ThingWorx 执行的,并记载在 安装 ThingWorx 中。
PostgreSQL HA
您还可以使用 PostgreSQL 高可用性 (HA) 作为数据解决方案的一部分。HA 提供了设置单独服务器的选项,以便在主数据库服务器出现故障时捕获数据的读取和写入。HA 属于 PostgreSQL 实现的一部分时,有关建议安装和部署的详细信息,请参阅指南中的相应部分。
PostgreSQL 实现的高级处理
1. 确定 PostgreSQL 是否为适用于您的数据的解决方案。有关其他信息,请参阅大小设定和计划部分。
2. 下载并安装 PostgreSQL。此过程独立于 ThingWorx 执行。本指南中提供了一个部署示例。
* 
标准的 PostgreSQL 实现包括一个不能在 ThingWorx 中进行编辑的持久化方案提供工具。但是,您可以通过 platform-settings.json 或服务对其进行编辑。
3. 如果您希望在 ThingWorx 中创建其他能够连接 PostgreSQL 数据存储的持久化方案提供工具实例,请转至“数据存储” > “持久化方案提供工具”,然后单击绿色加号 (+)。
4. “常规信息”屏幕上,为持久化方案提供工具输入一个名称。
5. “持久化方案提供工具包”字段中,使用魔术拾取器选择 PostgreSQL 持久化方案提供工具包。
6. 单击“配置”并配置下列设置:
您可以编辑以下流和值流队列设置,且这些设置将应用至所有流和值流。对于特定流或值流,这些设置将无法更改。
流处理器设置
基本类型
默认值
注解
队列大小上限
数量
250000
队列中流条目的最大数量。达到指定的值后,以下条目将被拒绝。
清空流缓冲区之前的最长等待时间 (毫秒)
数量
2000
清空流缓冲区之前系统将等待的毫秒数
处理线程数目
数量
5
分配给流的处理线程数量
清空流缓冲区之前项的最大数量
数量
500
清空流缓冲区之前可累积的项的最大数量
处理块中流写入的最大次数
数量
2500
可在单个块中处理的最大流写入次数
缓冲区状况扫描频率 (毫秒)
数量
5
检查指定速率值 (以毫秒为单位) 的缓冲区状态
值流处理器设置
基本类型
默认值
注解
队列大小上限
数量
250000
队列中值流条目的最大数量。达到指定的值后,以下条目将被拒绝。
清空值流缓冲区之前的最长等待时间 (毫秒)
数量
2000
清空值流缓冲区之前系统等待的毫秒数
处理线程数目
数量
5
分配给值流的处理线程数量
清空值流缓冲区之前项的最大数量
数量
500
清空值流缓冲区之前可累积的项的最大数量
处理块中值流写入的最大次数
数量
2500
可在单个块中处理的最大值流写入次数
缓冲区状况扫描频率 (毫秒)
数量
5
检查指定速率值 (以毫秒为单位) 的缓冲区状态
连接 PostgreSQL 所需的连接信息
名称
默认值
注解
JDBC URL
jdbc:postgresql://localhost:5432/thingworx
数据库的 JDBC URL,您可从该数据库中获取连接。可以在此 URL 中指定多个架构。
Username
thingworx
用于获取数据库连接的用户名
密码
不适用
用于获取数据库连接的密码
初始连接池大小
5
连接池启动时尝试获取的连接数
建立连接增量
5
确定在连接池耗尽时将获得的连接数
连接池大小上限
100
连接池在任何给定时间保持的最大连接数
连接池大小下限
5
连接池在任何给定时间保持的最小连接数
缓存语句最大数目
100
全局 PreparedStatement 缓存大小
驱动类
org.postgresql.Driver
数据库 JDBC 驱动类
建立连接重试次数
3
定义连接池将尝试获取新连接的次数
建立连接重试延迟
10000
连接池在两次获取连接尝试之间等待的时间 (以毫秒为单位)
退出重试超时
1000000
当连接池耗尽时,调用 getConnection 的客户端等待检入或获取连接的毫秒数
最大空闲时间
0
连接被放弃之前,连接池中存在但未使用的连接秒数零表示空闲连接从不过期。
连接最大时长
0
一旦超出这个时长 (以秒为单位),连接将会被销毁并从连接池中清除。零表示无强制的最大连接时长。
Helper 线程数目
8
通常,速度较慢的 JDBC 操作将由未持有竞争锁的 helper 线程执行。将这些操作分散到多个线程中,可以同时执行多个操作,从而显著提高性能。
未返回连接超时
0
如果应用程序获取了连接但在指定的时间段 (以秒为单位) 内未能关闭连接,则连接池会销毁连接。零表示无超时,并且应用程序会关闭其连接。
过量连接最大空闲时间
300
在超过 minPoolSize 的连接允许销毁之前,在连接池中保持空闲的秒数。零表示无强制,多余连接不会被销毁。
7. 如有必要,请迁移实体和数据。
8. 监控和维护 PostgreSQL 实现。本指南将介绍创建成功维护计划的最佳业务实践。