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
系統會以指定速率值 (以毫秒計) 檢查緩衝區狀況。
查詢逾時
數目
600000
在取消查詢之前查詢將等待完成的時間量 (以毫秒為單位)。
網路逾時
數目
900000
執行緒等待資料庫回應的時間量 (以毫秒為單位)。
如果在此配置的時間內未收到回應,平台將會關閉基礎連線,並釋放等待回應的執行緒。
生產者逾時
數目
3000
此設定適用於「串流項目處理器」,目前僅針對「持續內容處理器」有效。
當佇列已滿且沒有空間可供新項目使用時,這是生產者將等待將項目置於佇列的最長時間 (毫秒)。此等待時間結束後,如果佇列仍處於已滿狀態且無法提供空間,則項目將無法新增至佇列。
值串流處理器設定
基礎類型
預設
註記
最大佇列大小
數目
250000
可排入佇列的最大值串流數。 執到指定的值之後,系統會拒絕下列項目。
排清值串流緩衝區之前的最大等候時間 (以毫秒計)
數目
2000
系統在排清值串流緩衝區之前的等候毫秒數
處理執行緒數
數目
5
分配給值串流的處理執行緒數
排清值緩衝區之前的最大項目數
數目
500
排清值串流緩衝區之前的累計最大項目數
流程區塊內的最大值串流寫入數
數目
2500
單一區塊中待處理的最大值串流寫入數
緩衝區狀況掃描率 (以毫秒計)
數目
5
系統會以指定速率值 (以毫秒計) 檢查緩衝區狀況。
生產者逾時
數目
3000
此設定適用於「串流項目處理器」,目前僅針對「持續內容處理器」有效。
當佇列已滿且沒有空間可供新項目使用時,這是生產者將等待將項目置於佇列的最長時間 (毫秒)。此等待時間結束後,如果佇列仍處於已滿狀態且無法提供空間,則項目將無法新增至佇列。
資料庫連線堆疊追蹤設定
預設
註記
觸發堆疊追蹤的資料庫連線集區臨界飽和度 (以百分比表示)
90
資料庫連線集區達到飽和以觸發堆疊追蹤的臨界值。
觸發後記錄的堆疊追蹤集計數
5
觸發堆疊追蹤設定後,已記錄的堆疊追蹤集計數
記錄堆疊追蹤的時間間隔 (單位秒)
10
將記錄堆疊追蹤的時間間隔。
再次觸發堆疊追蹤記錄之前所耗用的最短時間 (單位分鐘)
60
堆疊追蹤記錄再次觸發前經過的最短時間。
為記錄堆疊追蹤而保持連接的持續時間 (單位毫秒)
1000
針對要記錄的堆疊追蹤保持連線的持續時間。
連接至 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 實行。如需有關建立成功維護計畫的最佳做法,請參閱本指南。
這是否有幫助?