インストールの付録
Windows 用 PostgreSQL のインストールと設定
ここで説明する手順は、PostgreSQL 管理者 (DB ホストサーバーではない) を対象にしています。実装に 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. 「Definition」タブの「Password」フィールドに、PostgreSQL 用の一意でセキュアなパスワードを入力します。
5. 「OK」をクリックします。後で使用するので、この手順で作成したユーザー役割名とパスワードをメモしておいてください。
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.bat スクリプトを設定および実行する必要があります。
* 
9.3.1 ThingWorx 以降、ThingworxPostgresqlStorage フォルダの作成または -l パラメータ関連の手順は不要になり、ThingWorx データは Postgresql のデフォルトの場所に保存されます。
1. <postgres インストール>/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. ThingWorx ソフトウェアダウンロードパッケージの install フォルダから 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
以下の 3 つのオプションがあります。
all: モデルおよびデータプロバイダスキーマを指定されたデータベースに設定します。
model: モデルプロバイダスキーマを指定されたデータベースに設定します。
data: データプロバイダスキーマを指定されたデータベースに設定します。
-o data
3. スクリプトを実行します。
platform-settings.json の設定
1. ThingworxPlatform フォルダにある platform-settings.json ファイルを開きます。
2. 「platform-settings.json コンフィギュレーションの詳細」PostgresPersistenceProviderPackage コンフィギュレーションオプションを参照して platform-settings.json に追加します。
* 
PostgreSQL サーバーと ThingWorx サーバーが同じでない場合や、ThingWorx のインストールに問題がある場合は、Tomcat のログと platform-settings.json ファイルを確認してください。デフォルトインストールでは、両方のサーバーが同じマシン上にあることが前提になっています。
(オプション) PostgreSQL パスワードの暗号化
パスワードの暗号化の手順に従って、パスワードを暗号化します。
(オプション) PostgreSQL クライアントパッケージと PostgreSQL ユーザーのインストール
クライアントマシンから PostgreSQL サーバーに PostgreSQL コマンドを発行する場合は、PostgreSQL ユーザーから実行します。postgresql-client-x.x パッケージは、クライアントマシンにインストールできます。インストール方法については、PostgreSQL の配布ドキュメンテーションを参照してください。このパッケージには、psql などの複数の管理ツールが用意されています。
これは役に立ちましたか?