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. 如果您想要在會連接至 PostgreSQL 資料儲存庫的 ThingWorx 中建立其他持續性提供者實例,請轉至「資料儲存」 > 「持續性提供者」,然後按一下綠色加號 (+)。
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
用來取得資料庫連線的使用者名稱
Password
n/a
用來取得資料庫連線的密碼
初始連線集區大小
5
啟動時,集區嘗試擷取的連線數
連線擷取增量
5
決定集區耗盡時將擷取的連線數
最大連線集區大小
100
集區在任一時間保持的最大連線數
最小連線集區大小
5
集區在任一時間保持的最小連線數
最大快取語句
100
全域 PreparedStatement 快取大小
驅動程式類別
org.postgresql.Driver
資料庫 JDBC 驅動程式類別
擷取重試
3
定義連線集區嘗試擷取新連線的次數
擷取重試延遲
10000
連線集區在两次擷取嘗試之間的等待時間 (以毫秒為單位)
出庫重試逾時
1000000
呼叫 getConnection 的用戶端在集區耗盡時,等候待檢查或待擷取連線的毫秒數
最大閒置時間
0
在遭到捨棄之前,連線可維持已緩衝而未使用狀態的秒數。零表示閒置連線從不會過期。
最大連線年齡
0
系統會將老於此時間的連線 (以秒為單位) 從集區中銷毀及清除。零表示無現行最大年齡。
協助程式執行緒數量
8
慢速的 JDBC 作業通常是由無抗衡鎖定機制的協助程式執行緒執行。將這些作業分佈到多個執行緒即可同步執行多項作業,從而大幅提升效能。
未傳回的連線逾時
0
若應用程式擷取到一個連線但無法在指定的時段 (以秒為單位) 內關閉連線,集區就會銷毀該連線。零表示沒有逾時,應用程式應關閉自己的連線。
超出連線的最大閒置時間
300
在超出 minPoolSize 的允許銷毀之前,集區中應保持閒置狀態的秒數。零表示未執行,且未銷毀超出的連線數。
7. 必要時,請遷移實體資料。
8. 監視及維護您的 PostgreSQL 實行。如需有關建立成功維護計畫的最佳做法,請參閱本指南。