安装和配置 Ubuntu 环境下的 PostgreSQL
以下说明适用于 PostgreSQL 管理员 (非数据库主机服务器)。如果要将 HA 层包括到实现中,请参阅此帮助中心的
ThingWorx 高可用性
部分。
安装 PostgreSQL 并创建新建用户角色
1.
有关受支持的 PostgreSQL 版本的信息,请参阅 ThingWorx
系统要求
。
$ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ <YOUR_UBUNTU_VERSION_HERE>-pgdg main" '> /etc/apt/sources.list.d/pgdg.list
$ sudo wget -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get install postgresql-x.x -y
3.
安装 PgAdmin,PostgreSQL 管理工具:
$ sudo apt-get install pgadmin4 -y
4.
设置 PostgreSQL 用户密码:
$ sudo service postgresql restart
$ sudo -u postgres psql -c "ALTER ROLE postgres WITH password '<unique PostgreSQL password>'"
5.
输入 PostgreSQL 用户密码。您将在之后的步骤中使用此密码。
$ sudo pgadmin4
◦
在 pgAdmin 中,单击
文件 -> 打开 postgresql.conf
◦
打开
/etc/postgresql/x.x/main/postgresql.conf
◦
在
监听地址
和
端口
旁进行检查。
localhost
和
5432
的默认设置通常足够。
◦
保存并关闭。
◦
单击
文件 -> 打开 pg_hba.conf
◦
打开
/etc/postgresql/x.x/main/pg_hba.conf
◦
双击地址为 127.0.0.1/32 的数据库“全部”行
◦
将方法设置为
md5
◦
单击
“确定”
◦
保存并退出
◦
关闭 pgAdmin
7.
重新启动 PostgreSQL 服务:
$ sudo service postgresql restart
8.
设置 PgAdmin 以连接到数据库:
$ sudo pgadmin4
9.
单击插件图标,将连接添加至左上角的服务器并填写以下内容:
Name: PostgreSQL x.x
Host: localhost
Port: 5432
Service: <blank>
Maintenance DB: postgres
Username: postgres
Password: <unique PostgreSQL password as set previously>
Store password: Checked
Group: Servers
10.
单击
“确定”
。
11.
创建新用户角色:
b.
选择
Create - Login/Group Role
。在
General
选项卡上的
Name
字段中输入 PostgreSQL 管理的 <PostgreSQL 用户角色名称>。
c.
在
Privileges
选项卡上,针对
Can login?
选择
Yes
。
d.
在
“定义”
选项卡的
“密码”
字段中,为 PostgreSQL 输入唯一且安全的密码。
e.
单击
“确定”
。请记住在此步骤中创建的用户角色名称和密码,供以后使用。
配置与 ThingWorx 不同服务器上的 PostgreSQL 数据库
默认情况下,将 PostgreSQL 服务器安装为锁定状态。为实现 ThingWorx 与 PostgreSQL 之间的通信,服务器将只监听来自本地计算机的连接,需要进行某些配置更改,以便 PostgreSQL 监听来自其他用户 (thingworx 用户,默认为 twadmin) 和/或其他计算机 (ThingWorx 安装在单独的服务器上) 的连接。
您需要知道 PostgreSQL 数据目录所在位置,以便操作这些步骤。在 Linux 上,数据文件夹、甚至配置文件的位置可根据分发和安装方式 (下载或包管理器安装) 进行更改。在这些说明中,此位置将被称为
<PGDATA>
。
启用 PostgreSQL 以监听全部连接
在 PostgreSQL 的 Linux 安装过程中,需要其他配置步骤,以便配置 PostgreSQL 服务器对连接进行监听。
1.
在
postgresql.conf
文件中,取消备注并更新
listen_addresses
行:
Uncomment the listen_addresses line and change localhost to '*'
# Listen on all addresses. Requires restart.
listen_addresses = '*'
2.
重新启动 PostgreSQL 服务器。
配置并执行 PostgreSQL 数据库脚本
要设置 PostgreSQL 数据库和表空间,必须配置并执行
thingworxPostgresDBSetup.sh
脚本。
1.
从
install
文件夹中的 ThingWorx 软件下载包内获取
thingworxPostgresDBSetup.sh
脚本。ThingWorx 下载在
PTC 软件下载
中可用。
2.
必要时,配置此脚本。参考下表中的选项。
$ sudo unzip MED-61111-CD-085_F000_ThingWorx-Platform-Postgres-9-x-x.zip
$ cd install
3.
要使用默认 PostgreSQL 安装 (具有 PostgreSQL 数据库和 PostgreSQL 用户名) 来设置数据库和表空间,请输入:
$ sudo sh thingworxPostgresDBSetup.sh -a postgres -u <user role name> -l /ThingworxPostgresqlStorage
thingworxPostgresDBSetup 脚本选项
4.
执行此脚本。
配置并执行模型/数据提供程序架构脚本
要设置 PostgreSQL 模型/数据提供程序架构,必须配置并执行
thingworxPostgresSchemaSetup.sh
脚本。这将公共架构设置在安装于本地主机的 PostgreSQL 实例的数据库下。
1.
从 ThingWorx 软件下载包获取并打开
thingworxPostgresSchemaSetup.sh
文件。该脚本位于
install
文件夹中。
2.
必要时,配置此脚本。参考下表中的选项。
thingworxPostgresSchemaSetup 脚本选项
3.
执行此脚本。可以使用默认参数运行以下脚本:
$ sudo sh thingworxPostgresSchemaSetup.sh
该用户名应与先前创建的 PostgreSQL 用户名相匹配。
配置 platform-settings.json
1.
打开位于
ThingworxPlatform
中的
platform-settings.json
文件。