安装附录
安装和配置 Windows 环境下的 PostgreSQL
以下说明适用于 PostgreSQL 管理员 (非数据库主机服务器)。如果要将 HA 层包括到实现中,请参阅此帮助中心的 ThingWorx 高可用性部分。
安装 PostgreSQL 并创建新建用户角色
1. 有关受支持的 PostgreSQL 版本的信息,请参阅 ThingWorx 系统要求
* 
此过程中的步骤使用 PostgreSQL 版本 x.x,其中 x.x 为受支持的版本。
2. 从以下站点下载并安装相应版本的 PostgreSQL:http://www.postgresql.org/download/
3. 使用 pgAdmin 打开 PostgreSQL。pgAdmin 工具可从 PostgreSQL 下载中获取。
* 
pgAdmin 是 PostgreSQL 下载中包含的数据库的开源管理工具。该工具的特点在于完整的 Unicode 支持,快速、多线程查询和数据编辑工具,并支持所有 PostgreSQL 对象类型。
4. 创建新用户角色:
a. 右键单击 PostgreSQLx.x (<数据库的 IP 或主机名称>:<PostgreSQL 的端口号>)。示例:PostgreSQLx.x (localhost:5432)
* 
稍后在此过程中,此用户称为 thingworxusername
b. 选择 Create - Login/Group Role。在 General 选项卡上的 Name 字段中输入 PostgreSQL 管理的 <PostgreSQL 用户角色名称>。
c. Privileges 选项卡上,针对 Can login? 选择 Yes
d. “定义”选项卡的“密码”字段中,为 PostgreSQL 输入唯一且安全的密码。
5. 单击“确定”。请记住在此步骤中创建的用户角色名称和密码,供以后使用。
配置与 ThingWorx 不同服务器上的 PostgreSQL 数据库
* 
此部分对于开发环境是可选的,但在所有生产环境中应全部实现。
默认情况下,将 PostgreSQL 服务器安装为锁定状态。服务器将只监听来自本地计算机的连接。为实现 ThingWorx 与 PostgreSQL 服务器之间的通信,需要进行某些配置更改,以便 PostgreSQL 监听来自其他用户 (thingworx 用户,默认为 twadmin) 和/或其他计算机 (ThingWorx 安装在单独的服务器上) 的连接。
您需要知道 PostgreSQL 数据目录所在位置,以便操作这些步骤。在 Windows 中,默认数据文件夹位于 C:\Program Files\PostgreSQL\x.x\data
修改 pg_hba.conf 文件并根据所需配置添加以下各行:
如果想要允许所有 IPv4 地址连接:
host all all 0.0.0.0/0 md5
如果想要只允许特定 IPv4 地址连接 (将 <ipAddress> 替换为进行连接的计算机的 IP 地址):
host all all <ipAddress>/32 md5
如果想要允许所有 IPv6 地址连接:
host all all ::0/0 md5
如果想要只允许特定 IPv6 地址连接 (将 <ipv6Address> 替换为相应的地址):
host all all <ipv6Address>/128 md5
通过使用适用于需要 PostgreSQL 数据库访问权限的计算机的其他余量行 (各个 IP 或范围) 或子网掩码,可以实现任何其他组合。
对此文件所做的任何更改都需要重新启动数据库服务。
* 
有关配置 pg_hba.conf 文件的详细信息,请参阅官方 PostgreSQL 文档
配置并执行 PostgreSQL 数据库脚本
要设置 PostgreSQL 数据库和表空间,必须配置并执行 thingworxPostgresDBSetup.bat 脚本。
* 
ThingWorx 9.3.1 之后的版本,无须再创建 ThingworxPostgresqlStorage 文件夹,也不再需要任何与 -l 参数相关的步骤,且 ThingWorx 数据将存储于 Postgresql 的默认位置。
1. <postgres-installation>/bin 文件夹添加到您的系统 PATH 变量中。
2. 从 ThingWorx 软件下载包获取并打开 thingworxPostgresDBSetup.bat 脚本。ThingWorx 下载在 PTC 软件下载中可用。该脚本位于 install 文件夹中。
3. 必要时,配置此脚本。参考下表中的选项。
thingworxPostgresDBSetup 脚本选项
选项
参数
默认值
说明
示例
t 或者 -T
tablespace
thingworx
表空间名称
-t thingworx
-p 或者 -P
port
5432
PostgreSQL 端口号
-p 5432
-\d 或者 -D
database
thingworx
要创建的 PostgreSQL 数据库名称
-d thingworx
-l 或者 -L
tablespace_location
/ThingworxPostgresqlStorage
ThingWorx 9.3.0 及之前版本的必需项。存储文件系统中代表数据库对象的文件所在的位置。用户需要先通过相关权限手动创建此文件夹,然后再执行脚本并指定路径,例如 l D:\ThingworxPostgresqlStorage
* 
该文件夹必须具有相应的所有权和访问权限。它应归运行 PostgreSQL 服务的同一用户所有,并拥有分配给此用户的完全控制权限。此用户通常为 NETWORK_SERVICE,但在您的环境中可能会有所不同。
-l 或者 -L
-h 或者 -H
host
localhost
主机名称
-h localhost
-a 或者 -A
adminusername
postgres
管理员名称
-a postgres
-u 或者 -U
thingworxusername
twadmin
有写入数据库权限的用户名。
-u twadmin
4. 执行此脚本。
配置并执行模型/数据提供程序架构脚本
要设置 PostgreSQL 模型/数据提供程序架构,必须配置并执行 thingworxPostgresSchemaSetup.bat 脚本。此脚本将公共架构设置在安装于本地主机的 PostgreSQL 实例的数据库下。
1. install 文件夹中的 ThingWorx 软件下载包内获取 thingworxPostgresSchemaSetup.bat 脚本。ThingWorx 下载在 PTC 软件下载中可用。
2. 必要时,配置此脚本。参考下表中的选项。
thingworxPostgresSchemaSetup 脚本选项
选项
参数
默认值
说明
示例
-h 或者 -H
host
localhost
数据库的 IP 或主机名称。
-h localhost
-p 或者 -P
port
5432
PostgreSQL 端口号。
-p 5432
-\d 或者 -D
database
thingworx
要使用的数据库名称。
-d thingworx
-s 或者 -S
schema
public
要使用的架构名称。
-s myschema
* 
如果未使用 public$user ,则必须编辑 postgresql.conf 文件并将 SEARCH_PATH 添加至您的架构。例如,search_path = '"$user", public, "myschema"'
-u 或者 -U
username
twadmin
用于更新数据库架构的用户名
-u twadmin
-o 或者 -O
option
all
有三个选项:
全部:将模型和数据提供程序架构设置到指定的数据库中。
模型:将模型提供程序架构设置到指定的数据库中。
数据:将数据提供程序架构设置到指定的数据库中。
-o data
3. 执行此脚本。
配置 platform-settings.json
1. 打开位于 ThingworxPlatform 文件夹中的 platform-settings.json 文件。
2. 请参阅 platform-settings.json 配置详细信息中PostgresPersistenceProviderPackage 配置选项,并将其添加到 platform-settings.json 中。
* 
如果您的 PostgreSQL 服务器与 ThingWorx 服务器不同,并且在安装 ThingWorx 时出现问题,请查看 platform-settings.json 文件。默认安装假定两个服务器位于同一计算机上。
(可选) 加密 PostgreSQL 密码
按照加密密码中的步骤加密密码
(可选) 安装 PostgreSQL 客户端包和 PostgreSQL 用户
要将 PostgreSQL 命令从客户端机器发送到 PostgreSQL 服务器,请从 PostgreSQL 用户执行这些操作。可以在客户端计算机上安装 postgresql-client-x.x 包。有关如何安装此包,请参阅 PostgreSQL 分发文档。该软件包提供了一些管理工具,例如 psql
这对您有帮助吗?