Installation et configuration > Installation de ThingWorx > Installation Windows > PostgreSQL > Installation et configuration de PostgreSQL (Windows)
Installation et configuration de PostgreSQL (Windows)
Les instructions fournies ci-dessous sont destinées à l'administrateur PostgreSQL (ne concerne pas les serveurs hôtes de base de données). Si vous incluez la couche haute disponibilité (HA) dans votre implémentation, consultez la rubrique Haute disponibilité ThingWorx de ce Centre d'aide .
Installation de PostgreSQL et création d'un nouveau rôle d'utilisateur
1. Pour plus d'informations sur les versions de PostgreSQL prises en charge, consultez la rubrique Configuration requise pour ThingWorx.
* 
Les étapes de cette procédure utilisent PostgreSQL version x.x, où x.x désigne la version prise en charge.
2. Téléchargez et installez la version appropriée de PostgreSQL depuis l'adresse http://www.postgresql.org/download/.
3. Ouvrez PostgreSQL à l'aide de PgAdmin. L'outil PgAdmin est inclut dans le package de téléchargement de PostgreSQL.
* 
PgAdmin est un outil open source de gestion de vos bases de données inclus dans le téléchargement de PostgreSQL. Cet outil offre une prise en charge Unicode complète, met à votre disposition des outils d'édition de données et de requêtes multi-thread rapides, et prend en charge tous les types d'objets PostgreSQL.
4. Créez un nouveau rôle d'utilisateur :
a. Cliquez avec le bouton droit sur PostgreSQLx.x (<adresse IP ou nom d'hôte de la base de données>:<numéro de port de PostgreSQL>). Exemple : PostgreSQLx.x (localhost:5432).
b. Sélectionnez New Object > New Login Role. Dans l'onglet Properties, dans le champ Role name, saisissez le <nom du rôle d'utilisateur PostgreSQL> voulu pour l'administration PostgreSQL.
c. Sur l'onglet Définition, dans le champ Password, saisissez un mot de passe unique et sûr pour l'administration PostgreSQL (deux saisies du mot de passe sont nécessaires).
* 
Veillez à ce que ce mot de passe ne puisse pas être deviné facilement et à ce qu'il comprenne au moins 14 caractères et se compose d'une combinaison de caractères majuscules et minuscules, de chiffres et de caractères spéciaux. Vous devrez réutiliser ce mot de passe ultérieurement.
5. Cliquez sur OK. Notez bien le nom du rôle d'utilisateur créé dans cette étape, il vous sera demandé ultérieurement.
Configuration d'une base de données PostgreSQL située sur un serveur autre que celui de ThingWorx
* 
Cette section est facultative pour les environnements de développement, mais doit être implémentée dans tous les environnements de production.
Par défaut, le serveur PostgreSQL est installé dans un état verrouillé. Le serveur écoutera uniquement les connexions de la machine locale. Pour que ThingWorx communique avec le serveur PostgreSQL, certaines modifications de configuration doivent être apportées afin que PostgreSQL écoute les connexions d'autres utilisateurs (utilisateur thingworx, par défaut twadmin) et/ou d'autres machines (ThingWorx installé sur un autre serveur).
Vous devez savoir où réside votre répertoire de données PostgreSQL pour cette procédure. Sous Windows, le dossier de données par défaut est C:\Program Files\PostgreSQL\x.x\data.
Modifiez le fichier pg_hba.conf en lui ajoutant les lignes correspondant à la configuration qui vous convient parmi les suivantes :
Si vous souhaitez autoriser toutes les adresses IPv4 à se connecter :
host all all 0.0.0.0/0 md5
Si vous souhaitez autoriser uniquement une adresse IPv4 spécifique à se connecter (remplacez <ipAddress> par l'adresse IP de la machine concernée) :
host all all <ipAddress>/32 md5
Si vous souhaitez autoriser toutes les adresses IPv6 à se connecter :
host all all ::0/0 md5
Si vous souhaitez autoriser uniquement une adresse IPv6 spécifique à se connecter (remplacez <ipv6Address> par l'adresse appropriée) :
host all all <ipv6Address>/128 md5
Toute autre combinaison est possible par ajout de lignes de configuration supplémentaires (adresses IP individuelles ou plages d'adresses) ou de masques de sous-réseau appropriés pour les machines qui nécessitent un accès à la base de données PostgreSQL.
Toute modification de ce fichier nécessite un redémarrage du service de base de données.
* 
Pour plus d'informations sur la configuration du fichier pg_hba.conf, consultez la documentation officielle de PostgreSQL).
Configuration et exécution du script de base de données PostgreSQL
Pour mettre en oeuvre la base de données et l'espace de table PostgreSQL, le script thingworxPostgresDBSetup doit être configuré et exécuté.
1. Ajoutez le dossier <postgres-installation>/bin à votre variable système PATH.
2. Créez un dossier nommé ThingworxPostgresqlStorage sur le lecteur hébergeant le dossier ThingworxStorage (dans le répertoire racine par défaut). Notez le point suivant :
Si vous créez le dossier à l'aide de la commande -d<databasename>, vous n'avez pas à utiliser l'utilisateur PostgreSQL.
Vous devez utiliser l'option -l en spécifiant un chemin d'accès existant. Par exemple, -l D:\ThingworxPostgresqlStorage. Le script ne crée pas le dossier pour vous.
La propriété du dossier et les droits d'accès à celui-ci doivent être configurés de manière appropriée. Il doit appartenir au même utilisateur que celui qui exécute le service PostgreSQL et cet utilisateur doit bénéficier d'un contrôle total ; ce dernier est généralement NETWORK_SERVICE, mais il peut être différent dans votre environnement.
3. Récupérez et ouvrez le script thingworxPostgresDBSetup depuis le package de téléchargement de logiciel ThingWorx. Les téléchargements ThingWorx s'effectuent depuis la page des téléchargements de logiciels de PTC.
4. Si nécessaire, configurez le script. Reportez-vous à la table ci-dessous pour le paramétrage des options.
Options du script thingworxPostgresDBSetup
Option
Paramètre
Par défaut
Description
Exemple
t ou -T
tablespace
thingworx
Nom de l'espace de table.
-t thingworx
-p ou -P
port
5432
Numéro de port de PostgreSQL.
-p 5432
-d ou -D
database
thingworx
Nom de la base de données PostgreSQL à créer.
-d thingworx
-h ou -H
host
localhost
Nom de l'hôte
-h localhost
-l ou -L
tablespace_location
/ThingworxPostgresqlStorage
Obligatoire. Emplacement sur le système de fichiers où sont stockés les fichiers représentant les objets de base de données.
-l ou -L
-a ou -A
adminusername
postgres
Nom de l'administrateur.
-a postgres
-u ou -U
thingworxusername
twadmin
Nom d'utilisateur autorisé à accéder en écriture à la base de données.
-u twadmin
5. Exécutez le script.
Configuration et exécution du script de schéma de fournisseur de modèles/données
Pour mettre en oeuvre le schéma de fournisseur de modèles/données PostgreSQL, le script thingworxPostgresSchemaSetup doit être configuré et exécuté. Ce script mettra en oeuvre le schéma public sous votre base de données sur l'instance PostgreSQL installée sur l'hôte local.
1. Récupérez le script thingworxPostgresSchemaSetup.bat depuis le package de téléchargement de logiciel ThingWorx. Les téléchargements ThingWorx s'effectuent depuis la page des téléchargements de logiciels de PTC.
2. Si nécessaire, configurez le script. Reportez-vous à la table ci-dessous pour le paramétrage des options.
Options du script thingworxPostgresSchemaSetup
Option
Paramètre
Par défaut
Description
Exemple
-h ou -H
host
localhost
Adresse IP ou nom d'hôte de la base de données.
-h localhost
-p ou -P
port
5432
Numéro de port de PostgreSQL.
-p 5432
-d ou -D
database
thingworx
Nom de la base de données à utiliser.
-d thingworx
-s ou -S
schema
public
Nom du schéma à utiliser.
-s monSchéma
-u ou -U
Nom d'utilisateur
twadmin
Nom d'utilisateur pour la mise à jour du schéma de base de données.
-u twadmin
-o ou -O
option
all
Trois options sont disponibles :
all : met en oeuvre les schémas de fournisseur de modèles et de données dans la base de données spécifiée.
model : met en oeuvre le schéma de fournisseur de modèles dans la base de données spécifiée.
data : met en oeuvre le schéma de fournisseur de données dans la base de données spécifiée.
-o data
3. Exécutez le script.
Configuration du fichier platform-settings.json
1. Créez le dossier ThingworxPlatform à la racine du lecteur sur lequel Tomcat a été installé ou définissez une variable d'environnement système qui pointe vers le dossier. Notez le point suivant :
Pour spécifier l'emplacement de stockage par ThingWorx de ses paramètres, vous pouvez définir la variable d'environnement THINGWORX_PLATFORM_SETTINGS sur l'emplacement souhaité. Assurez-vous que le dossier référencé par THINGWORX_PLATFORM_SETTINGS existe et qu'il est accessible en écriture par l'utilisateur Tomcat. Cette variable d'environnement doit être configurée dans le cadre des variables d'environnement système.
Le serveur ThingWorx ne démarrera pas s'il n'a pas accès en lecture et en écriture à ce dossier.
2. Placez le fichier platform-settings.json dans le dossier ThingworxPlatform. Ce fichier est disponible dans le téléchargement de logiciel.
3. Ouvrez le fichier platform-settings.json et procédez à la configuration voulue. Reportez-vous aux options de configuration décrites à la rubrique Détails de la configuration du fichier platform-settings.json.
* 
Si votre serveur PostgreSQL se trouve sur une autre machine que votre serveur ThingWorx, et que vous rencontrez des problèmes avec votre installation de ThingWorx, examinez vos journaux Tomcat et votre fichier platform-settings.json. L'installation par défaut prend pour hypothèse que les deux serveurs se trouvent sur la même machine.
(Facultatif) Cryptage du mot de passe PostgreSQL
Chiffrez le mot de passe en suivant la procédure de la rubrique Chiffrement de mots de passe.
(Facultatif) Installation du package client PostgreSQL et de l'utilisateur PostgreSQL
Pour envoyer des commandes PostgreSQL depuis la machine cliente vers le serveur PostgreSQL, procédez à partir d'un utilisateur PostgreSQL. Le package postgresql-client-x.x peut être installé sur la machine cliente. Reportez-vous à la documentation de votre distribution PostgreSQL pour en savoir plus sur son installation. Ce package inclut un certain nombre d'outils d'administration, tels que psql.
Installation de ThingWorx
Consultez la rubrique Installation de ThingWorx..