安裝與組態 > 安裝 ThingWorx > Windows 安裝 > PostgreSQL > 安裝並配置 PostgreSQL (Windows)
安裝並配置 PostgreSQL (Windows)
下方提供的指示適用於 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)
b. 選取 New Object>New Login Role。在 Properties 標籤的 Role name 欄位中,針對 PostgreSQL 管理輸入 <PostgreSQL 使用者角色名稱>。
c. Definition 標籤的 Password 欄位中,輸入 PostgreSQL 管理的具唯一性安全密碼 (將會提示您輸入兩次)。
* 
密碼應不易猜測且不能為已知的常用密碼,長度應至少為 14 個字元,且包含大寫與小寫字母、數字與特殊字元的混合。您需要在稍後的步驟中重新輸入此密碼。
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
可以使用額外裕量行 (個別 IP 或範圍) 或對應於需要 PostgreSQL 資料庫存取權限之電腦的子網路遮罩進行其他任意組合。
此檔案的任何變更都需要重新啟動資料庫服務。
* 
如需有關配置 pg_hba.conf 檔案的其他資訊,請參閱正式 PostgreSQL 文件 集
配置及執行 PostgreSQL 資料庫指令集
欲設定 PostgreSQL 資料庫與表格空間,必須配置及執行 thingworxPostgresDBSetup 指令集。
1. <postgres-installation>/bin 資料夾新增至系統 PATH 變數。
2. ThingworxStorage 資料夾所在的磁碟機 (依預設為根目錄) 上建立名為 ThingworxPostgresqlStorage 的資料夾。請注意以下內容:
如果您使用 -d<databasename> 指令建立資料夾,則無須使用 PostgreSQL 使用者。
您必須將 -l 選項指定到現有路徑。例如,-l D:\ThingworxPostgresqlStorage。該指令集不會為您建立資料夾。
資料夾必須擁有對應的擁有權與存取權限。它應該由執行 PostgreSQL 服務的相同使用者擁有,且需要為該使用者指派完全控制權限,此使用者通常是 NETWORK_SERVICE,但在您的環境中可能會有所不同。
3. 從 ThingWorx 軟體下載封裝取得並開啟 thingworxPostgresDBSetup 指令集。 PTC 軟體下載中提供了 ThingWorx 下載。
4. 如有必要,配置該指令集。參照下表中的選項。
thingworxPostgresDBSetup 指令集選項
選項
參數
預設值
描述
範例
t 或 -T
表格空間
thingworx
表格空間名稱
-t thingworx
-p 或 -P
5432
PostgreSQL 埠號
-p 5432
-d 或 -D
資料庫
thingworx
欲建立的 PostgreSQL 資料庫名稱
-d thingworx
-h 或 -H
主機
localhost
主機的名稱
-h localhost
-l 或 -L
tablespace_location
/ThingworxPostgresqlStorage
必填。檔案系統中儲存表示資料庫物件之檔案的位置。
-l or -L
-a 或 -A
adminusername
postgres
管理員名稱
-a postgres
-u 或 -U
thingworxusername
twadmin
具有資料庫寫入權限的使用者名稱。
-u twadmin
5. 執行指令集。
配置及執行模型/資料提供者結構描述指令集
欲設定 PostgreSQL 模型/資料提供者結構描述,必須配置並執行 thingworxPostgresSchemaSetup 指令集。此指令集會在本機主機上所安裝之 PostgreSQL 實例的資料庫下設定公用結構描述。
1. 從 ThingWorx 軟體下載封裝取得 thingworxPostgresSchemaSetup.batPTC 軟體下載中提供了 ThingWorx 下載。
2. 如有必要,配置該指令集。參照下表中的選項。
thingworxPostgresSchemaSetup 指令集選項
選項
參數
預設值
描述
範例
-h 或 -H
主機
localhost
資料庫的 IP 或主機名稱。
-h localhost
-p 或 -P
5432
PostgreSQL 埠號。
-p 5432
-d 或 -D
資料庫
thingworx
要使用的資料庫名稱。
-d thingworx
-s 或 -S
結構描述
公開
要使用的結構描述名稱。
-s mySchema
-u 或 -U
使用者名稱
twadmin
更新資料庫結構描述的使用者名稱
-u twadmin
-o 或 -O
選項
所有
系統共提供以下三種選項:
所有:設定指定資料庫的模型和資料提供者結構描述。
模型:設定指定資料庫的模型提供者結構描述。
資料:設定指定資料庫的資料提供者結構描述。
-o data
3. 執行指令集。
配置 platform-settings.json
1. 在安裝 Tomcat 的磁碟機的根處建立資料夾 ThingworxPlatform,或設定指向資料夾的系統環境變數。請注意以下內容:
欲指定 ThingWorx 儲存其設定的位置,您可以將 THINGWORX_PLATFORM_SETTINGS 環境變數設為所需位置。確保 THINGWORX_PLATFORM_SETTINGS 所參考的資料夾存在,且可由 Tomcat 使用者寫入。此環境變數應配置為系統環境變數的一部份。
如果 ThingWorx 伺服器不具有讀取與寫入此資料夾的存取權限,該伺服器將無法啟動。
2. platform-settings.json 檔案放置在 ThingworxPlatform 資料夾中。軟體下載中包含此檔案。
3. 開啟 platform-settings.json 並視需要進行配置。請參閱 platform-settings.json 組態詳細資訊中的組態選項。
* 
如果您的 PostgreSQL 伺服器與 ThingWorx 伺服器不同,且 ThingWorx 安裝有問題,請審核這些 Tomcat 記錄檔與 platform-settings.json 檔案。預設安裝假設兩個伺服器位於相同的電腦上。
(選用) 加密 PostgreSQL 密碼
依照 加密密碼中的步驟加密密碼。
(選用) 安裝 PostgreSQL 用戶端封裝和 PostgreSQL 使用者
欲從用戶端電腦向 PostgreSQL 伺服器發出 PostgreSQL 指令,請從 PostgreSQL 使用者執行该操作。可以在用戶端電腦上安裝 postgresql-client-x.x 封裝。有關如何安裝此封裝,請參閱 PostgreSQL 發佈文件集。此封裝可提供一些管理工具,如 psql
安裝 ThingWorx