PostgreSQL
- Mise à jour2026-07-09
- Temps de lecture : 4 minute(s)
PostgreSQL est requis pour le service hôte du tableau de bord, le service de moniteur de test et le service de champs de formulaire dynamiques.
Exigences communes
Avant de configurer un service pour qu'il utilise un serveur PostgreSQL, assurez-vous d'avoir :
- Un serveur PostgreSQL provisionné. Pour optimiser les performances et la sécurité, nous vous recommandons de dédier l'instance PostgreSQL à SystemLink plutôt que de la partager avec d'autres applications.
- Le nom d'hôte du serveur PostgreSQL.
- Les informations d'identification d'au moins un utilisateur de base de données.
- Autorisations d'administration PostgreSQL pour créer des bases de données et des utilisateurs.
- Un certificat TLS pour des connexions sécurisées. (Recommandé)
Au lancement initial et pour certains scénarios de mise à niveau, chaque service crée le schéma et les tables requis. Après la configuration, vous pouvez révoquer les privilèges CREATE de l'utilisateur. Le tableau suivant montre les privilèges minimaux requis pour un fonctionnement normal :
| Emplacement | Privilèges |
|---|---|
| Base de données | CONNECT |
| Schéma de service | CRÉER, UTILISER |
| Tables du schéma | SÉLECTIONNER, INSÉRER, METTRE À JOUR, SUPPRIMER |
Stockage des données du service d'hébergement du tableau de bord sur un serveur PostgreSQL externe
Créez une base de données et un utilisateur, en vous assurant que l'utilisateur a des privilèges CREATE sur la base de données. Le nom de base de données par défaut est grafana.
Si vous gérez des secrets avec Helm, ajoutez vos informations d'identification de base de données à systemlink-secrets.yaml :
dashboardhost:
secrets:
database:
host: "<postgresql-hostname>:<port>"
user: "systemlink"
password: "<database-password>"Dans systemlink-values.yaml, assurez-vous que les configurations par défaut dashboardhost.grafana.extraSecretMounts et dashboardhost.grafana.extraConfigmapMounts sont activées :
dashboardhost:
grafana:
extraSecretMounts:
- name: *dashboardhostdbSecret
secretName: *dashboardhostdbSecret
defaultMode: 0440
mountPath: "/etc/secrets/dashboardhost"
readOnly: true
extraConfigmapMounts:
- name: *postgresCertificateConfigMap
mountPath: "/etc/ssl/certs/dashboardhost/"
subPath: *postgresCertificateFileName
configMap: *postgresCertificateConfigMap
readOnly: trueStockage des données de Test Monitor Service sur un serveur PostgreSQL externe
Créez une base de données et un utilisateur, en vous assurant que l'utilisateur a des privilèges CREATE sur la base de données.
Les prochaines mises à jour du chart Test Monitor Service peuvent nécessiter des modifications du schéma et de la table. Pour effectuer ces modifications, le chart Test Monitoring Service doit agir en tant que propriétaire du schéma et des tables. Outre l'utilisateur qui gère les opérations quotidiennes, vous pouvez spécifier un autre utilisateur doté d'autorisations plus élevées pour effectuer des migrations de bases de données.
Vous pouvez configurer la connexion PostgreSQL en utilisant une chaîne de connexion (recommandée) ou des paramètres de connexion individuels.
Utilisation d'une chaîne de connexion (recommandé) :- Ajoutez vos informations d'identification à systemlink-secrets.yaml :
testmonitorservice: secrets: database: connectionString: "Host=<postgresql-hostname>;Database=<database-name>;Username=<database-user>;Password=<database-password>;SslMode=Require" migrationConnectionString: "Host=<postgresql-hostname>;Database=<database-name>;Username=<migration-user>;Password=<migration-password>;SslMode=Require" - Puis configurez la connexion dans systemlink-values.yaml :
testmonitorservice: database: connectionString: secretName: "testmonitorservicedb-connection" connectionStringKey: "connection-string" migrationConnectionStringKey: "migration-connection-string" tls: enabled: true existingConfigMap: *postgresCertificateConfigMap certificateSubPath: *postgresCertificateFileName
Utilisation de paramètres de connexion individuels :
- Vous pouvez aussi spécifier des paramètres de connexion individuellement. Ajoutez vos informations d'identification à systemlink-secrets.yaml :
testmonitorservice: secrets: database: connectionPassword: "<database-password>" migrationConnectionPassword: "<migration-password>" - Puis configurez la connexion dans systemlink-values.yaml. Le nom de base de données par défaut est nisystemlink et l'utilisateur par défaut est nisystemlink :
testmonitorservice: database: connectionInfo: host: "<postgresql-hostname>" port: "5432" dbName: "nisystemlink" user: "nisystemlink" migrationUser: "<migration-user>" secretName: "testmonitorservicedb-connection" passwordKey: "password" migrationPasswordKey: "migration-password" tls: enabled: true existingConfigMap: *postgresCertificateConfigMap certificateSubPath: *postgresCertificateFileName
Stockage des données du service de champs de formulaire dynamique sur un serveur PostgreSQL externe
Créez une base de données et un utilisateur, en vous assurant que l'utilisateur a des privilèges CREATE sur la base de données.
Les prochaines mises à jour du chart Dynamic form fields Service peuvent nécessiter des modifications du schéma et de la table. Pour effectuer ces modifications, le chart Dynamic form fields service doit agir en tant que propriétaire du schéma et des tables. Outre l'utilisateur qui gère les opérations quotidiennes, vous pouvez spécifier un autre utilisateur doté d'autorisations plus élevées pour effectuer des migrations de bases de données.
Vous pouvez configurer la connexion PostgreSQL en utilisant une chaîne de connexion (recommandée) ou des paramètres de connexion individuels.
Utilisation d'une chaîne de création (recommandée) :
- Ajoutez vos informations d'identification à systemlink-secrets.yaml :
dynamicformfields: secrets: database: connectionString: "Host=<postgresql-hostname>;Database=<database-name>;Username=<database-user>;Password=<database-password>;SslMode=Require" migrationConnectionString: "Host=<postgresql-hostname>;Database=<database-name>;Username=<migration-user>;Password=<migration-password>;SslMode=Require" - Puis configurez la connexion dans systemlink-values.yaml :
dynamicformfields: database: connectionString: secretName: "dynamicformfields-db-connection" connectionStringKey: "connection-string" migrationConnectionStringKey: "migration-connection-string" tls: enabled: true existingConfigMap: *postgresCertificateConfigMap certificateSubPath: *postgresCertificateFileName
Vous pouvez aussi spécifier des paramètres de connexion individuellement :
- Ajoutez vos informations d'identification à systemlink-secrets.yaml :
dynamicformfields: secrets: database: connectionPassword: "<database-password>" migrationConnectionPassword: "<migration-password>" - Puis configurez la connexion dans systemlink-values.yaml. Le nom de base de données par défaut est nisystemlink et l'utilisateur par défaut est nisystemlink :
dynamicformfields: database: connectionInfo: host: "<postgresql-hostname>" port: "5432" dbName: "nisystemlink" user: "nisystemlink" migrationUser: "<migration-user>" secretName: "dynamicformfields-db-connection" passwordKey: "password" migrationPasswordKey: "migration-password" tls: enabled: true existingConfigMap: *postgresCertificateConfigMap certificateSubPath: *postgresCertificateFileName"
Contenu associé
- SystemLink Environment Architecture
SystemLink Enterprise est une application avec une architecture orientée service. Les microservices hébergés par Kubernetes constituent l’architecture. SystemLink Enterprise est évolutif, tolérant aux pannes et hautement disponible. Le tableau suivant résume les principaux éléments de l'architecture SystemLink Enterprise.
- SystemLink Enterprise dans Azure AKS
Azure Kubernetes Service (AKS) est un service Kubernetes géré qui simplifie l’exécution de Kubernetes sur Azure sans avoir besoin d’installer et d’utiliser votre propre plan de contrôle Kubernetes.
- Secrets requis
Les secrets sont des objets Kubernetes qui permettent de stocker des informations confidentielles.
- SystemLink Enterprise : compatibilité avec les dépendances externes
- Validation de l'installation
Testez que SystemLink Enterprise est installé correctement.