Définition du modèle ThingWorx dans Composer > Stockage des données > Fournisseurs de persistance > Utilisation de PostgreSQL en tant que fournisseur de persistance
Utilisation de PostgreSQL en tant que fournisseur de persistance
PostgreSQL est un système de gestion de base de données relationnel-objet en code source libre. Le fournisseur de persistance PostgreSQL prend en charge les fournisseurs de données et de modèles.
* 
Pour démarrer avec PostgreSQL, vous devez d'abord vous inscrire, puis installer et configurer PostgreSQL. La majeure partie de cette procédure se déroule en dehors de ThingWorx et est documentée dans la rubrique Installation de ThingWorx.
PostgreSQL HA
Vous pouvez également utiliser PostgreSQL High Availability (HA, haute disponibilité) en tant que composant de votre solution de données. La haute disponibilité permet de configurer des serveurs secondaires pour gérer les accès aux données en lecture et écriture, en cas de défaillance du serveur de base de données principal. Si votre installation PostgreSQL intègre la haute disponibilité, consultez les sections appropriées du guide pour obtenir des recommandations concernant l'installation et le déploiement.
Processus de niveau supérieur pour la mise en oeuvre de PostgreSQL
1. Déterminez si PostgreSQL constitue une solution adaptée pour vos données. Consultez les sections relatives au dimensionnement et à la planification pour obtenir plus d'informations.
2. Téléchargez et installez PostgreSQL. Ce processus est exécuté en dehors de ThingWorx. Le guide propose un exemple de déploiement.
* 
Une installation standard de PostgreSQL inclut un fournisseur de persistance, qui ne peut pas être modifié dans ThingWorx. Vous pouvez cependant le modifier via le fichier platform-settings.json ou à l'aide des services.
3. Si vous souhaitez créer dans ThingWorx des instances de fournisseur de persistance supplémentaires qui se connecteront au magasin de données PostgreSQL, accédez à Stockage de données > Fournisseurs de persistance, puis cliquez sur le signe plus vert (+).
4. Dans l'écran Informations générales, saisissez un nom pour le fournisseur de persistance.
5. Dans le champ Package de fournisseur de persistance, utilisez le sélecteur magique pour sélectionner le package de fournisseur de persistance PostgreSQL.
6. Cliquez sur Configuration, puis configurez les paramètres suivants :
vous pouvez modifier les paramètres suivants de file d'attente des flux et des flux de valeurs, qui s'appliqueront à l'ensemble des flux et des flux de valeurs. Ces modifications ne peuvent pas être appliquées à un flux ou flux de valeurs spécifique.
Paramètres du processeur de flux
Type de base
Par défaut
Remarques
Taille max. de la file d'attente
Number
250000
Nombre maximal d'entrées de flux à mettre en file d'attente.Lorsque la valeur spécifiée est atteinte, les entrées suivantes sont rejetées.
Délai d'attente avant le vidage du tampon de flux (ms)
Number
2000
Nombre de millisecondes attendues par le système avant le vidage du tampon de flux
Nombre de threads de traitement
Number
5
Nombre de threads de traitement alloués au flux.
Nbre max. d'éléments avant le vidage du tampon de flux
Number
500
Nombre maximal d'éléments à accumuler avant le vidage du tampon de flux
Nbre max. d'écritures de flux dans un bloc de processus
Number
2500
Nombre maximal d'écritures de flux à traiter dans un bloc
Fréquence d'analyse du statut tampon (ms)
Number
5
La statut du tampon est vérifié selon la fréquence définie en millisecondes.
Paramètres du processeur de flux de valeurs
Type de base
Par défaut
Remarques
Taille max. de la file d'attente
Number
250000
Nombre maximal d'entrées de flux de valeurs à mettre en file d'attente.Lorsque la valeur spécifiée est atteinte, les entrées suivantes sont rejetées.
Délai d'attente avant le vidage du tampon de flux de valeurs (ms)
Number
2000
Nombre de millisecondes attendues par le système avant le vidage du tampon de flux de valeurs
Nombre de threads de traitement
Number
5
Nombre de threads de traitement alloués au flux de valeurs.
Nbre max d'éléments avant le vidage du tampon de valeur
Number
500
Nombre maximal d'éléments à accumuler avant le vidage du tampon de flux de valeurs
Nbre max. d'écritures de flux de valeurs dans un bloc de processus
Number
2500
Nombre maximal d'écritures de flux de valeurs à traiter dans un bloc
Fréquence d'analyse du statut tampon (ms)
Number
5
La statut du tampon est vérifié selon la fréquence définie en millisecondes.
Informations de connexion requises pour se connecter à PostgreSQL
Nom
Valeur par défaut
Remarques
URL JDBC
jdbc:postgresql://localhost:5432/thingworx
URL JDBC de la base de données depuis laquelle les connexions doivent être acquises. Vous pouvez spécifier plusieurs schémas dans cette URL.
Username
thingworx
Nom d'utilisateur utilisé pour l'acquisition d'une connexion de base de données.
Mot de passe
n/a
Mot de passe utilisé pour l'acquisition d'une connexion de base de données.
Taille du pool de connexions initial
5
Nombre de connexions qu'un pool tentera d'acquérir au démarrage.
Incrément d'acquisition de la connexion
5
Détermine le nombre de connexions acquises lorsque le pool est épuisé.
Taille max. du pool de connexions
100
Nombre maximal de connexions qu'un pool maintient à tout moment.
Taille min. du pool de connexions
5
Nombre minimal de connexions qu'un pool maintient à tout moment.
Nbre d'instructions en cache
100
Taille du PreparedStatement global.
Classe de pilote
org.postgresql.Driver
Classe de pilote JDBC de la base de données.
Nombre de tentatives d'acquisition
3
Définit le nombre de tentatives d'acquisition d'une nouvelle connexion par le pool de connexions.
Délai entre chaque tentative
10000
Délai en millisecondes attendu par le pool de connexions entre chaque tentative.
Délai de nouvelle tentative de récupération
1000000
Délai en millisecondes attendu par un client appelant getConnection pour récupérer ou obtenir une connexion lorsque le pool est épuisé.
Délai d'inactivité max
0
Nombre de secondes pendant lesquelles une connexion non utilisée peut rester dans le pool avant d'être supprimée. Une valeur de zéro signifie que les connexions inactives n'expireront jamais.
Durée max. de la connexion
0
Les connexions dont la durée d'existence est supérieure à cette valeur (en secondes) seront détruites et purgées du pool. Une valeur de zéro signifie qu'aucune durée maximale n'est appliquée.
Nombre de threads d'assistance
8
Les opérations JDBC lentes sont généralement effectuées par des threads d'assistance qui ne disposent pas de verrouillage pour la contention. Le fait de répartir ces opérations sur plusieurs threads peut considérablement améliorer les performances, plusieurs opérations étant effectuées en même temps.
Délai d'inactivité de la connexion non renvoyé
0
Si l'application acquiert une connexion mais ne parvient pas à la fermer dans le délai défini en secondes, le pool détruira la connexion. Une valeur de zéro signifie qu'aucun délai n'est défini et les applications sont tenues de fermer leurs propres connexions.
Délai d'inactivité max. pour les connexions en trop
300
Délai en secondes pendant lequel les connexions en trop de minPoolSize sont autorisées à rester inactives dans le pool avant d'être détruites. Une valeur de zéro signifie qu'aucun délai n'est défini et que les connexions en trop ne seront pas détruites.
7. Si nécessaire, faites migrer les entités et les données.
8. Surveillez et tenez à jour votre installation de PostgreSQL. Le guide décrit les bonnes pratiques pour créer un plan de maintenance efficace.