PostgreSQL のインストールと設定 (Windows)
ここで説明する手順は、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)
b. 「New Object」 > 「New Login Role」の順に選択します。「Properties」タブの「Role name」フィールドに、PostgreSQL 管理用の <PostgreSQL ユーザー役割名> を入力します。
c. 「Definition」タブの「Password」フィールドに、PostgreSQL 管理用の一意でセキュアなパスワードを入力します (2 回入力するように求められます)。
* 
パスワードは、簡単に推測または認知できるもの (一般的なパスワード) にしないでください。長さは 14 文字以上で、大文字と小文字、数字、特殊文字を組み合わせます。このパスワードは後の手順で再入力する必要があります。
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 スクリプトを設定および実行する必要があります。
1. <postgres インストール>/bin フォルダをシステムの PATH 変数に追加します。
2. ThingworxStorage フォルダが配置されているドライブ (デフォルトではルートディレクトリ) に ThingworxPostgresqlStorage という名前のフォルダを作成します。次のことに注意してください。
-d<databasename> コマンドを使用してフォルダを作成する場合、PostgreSQL ユーザーを使用する必要はありません。
-l オプションは存在するパスに指定する必要があります。たとえば、-l D:\ThingworxPostgresqlStorage です。このスクリプトではフォルダは作成されません。
フォルダには適切な所有権とアクセス権が必要です。PostgreSQL サービスの実行者と同じユーザーによって所有され、そのユーザーには「フルコントロール」が割り当てられている必要があります。このユーザーは一般的には NETWORK_SERVICE ですが、環境によって異なる場合もあります。
3. ThingWorx ソフトウェアダウンロードパッケージから thingworxPostgresDBSetup スクリプトを取得して開きます。ThingWorx のダウンロードは PTC ソフトウェアダウンロードから入手できます。
4. 必要に応じて、スクリプトを設定します。下の表に示すオプションを参照してください。
thingworxPostgresDBSetup スクリプトのオプション
オプション
パラメータ
デフォルト
説明
t または -T
tablespace
thingworx
テーブルスペース名
-t thingworx
-p または -P
port
5432
Postgresql のポート番号
-p 5432
-d または -D
database
thingworx
作成する PostgreSQL データベース名
-d thingworx
-h または -H
host
localhost
ホストの名前。
-h localhost
-l または -L
tablespace_location
/ThingworxPostgresqlStorage
必須。データベースオブジェクトを表すファイルが保存されるファイルシステムの場所。
-l または -L
-a または -A
adminusername
postgres
管理者名
-a postgres
-u または -U
thingworxusername
twadmin
データベースへの書き込みアクセス許可を持つユーザー名。
-u twadmin
5. スクリプトを実行します。
モデル/データプロバイダスキーマスクリプトの設定および実行
PostgreSQL モデル/データプロバイダスキーマを設定するには、thingworxPostgresSchemaSetup スクリプトを設定および実行する必要があります。このスクリプトにより、ローカルホストにインストールされた PostgreSQL インスタンス上のデータベースにパブリックスキーマが設定されます。
1. ThingWorx ソフトウェアダウンロードパッケージから 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
-u または -U
username
twadmin
データベーススキーマを更新するユーザー名。
-u twadmin
-o または -O
option
all
以下の 3 つのオプションがあります。
all: モデルおよびデータプロバイダスキーマを指定されたデータベースに設定します。
model: モデルプロバイダスキーマを指定されたデータベースに設定します。
data: データプロバイダスキーマを指定されたデータベースに設定します。
-o data
3. スクリプトを実行します。
platform-settings.json の設定
1. ThingworxPlatform フォルダを、Tomcat がインストールされているドライブのルートに作成するか、またはこのフォルダを指すシステム変数を設定します。次のことに注意してください。
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 のインストール