PostgreSQL
- Aktualisiert2026-05-15
- 3 Minute(n) Lesezeit
PostgreSQL ist für den Dashboard-Host-Dienst, Testüberwachungsdienst und dynamische Formularfelder-Dienst erforderlich.
Allgemeine Anforderungen
Bevor Sie einen Dienst für die Verwendung eines PostgreSQL-Servers konfigurieren, stellen Sie sicher, dass Sie:
- Ein bereitgestellter PostgreSQL-Server. Für optimale Leistung und Sicherheit empfehlen wir, die PostgreSQL-Instanz SystemLink zuzuweisen, anstatt sie mit anderen Anwendungen zu teilen.
- Der Hostname des PostgreSQL-Servers.
- Die Zugangsdaten für mindestens einen Datenbankbenutzer.
- PostgreSQL-Administratorrechte zum Erstellen von Datenbanken und Benutzern.
- Ein TLS-Zertifikat für sichere Verbindungen. (Empfohlen)
Beim ersten Start und für einige Upgrade-Szenarien erstellt jeder Dienst das erforderliche Schema und die erforderlichen Tabellen. Nach dem Einrichten können Sie die Benutzerrechte für CREATE widerrufen. Die folgende Tabelle zeigt die Mindestrechte, die für den normalen Betrieb erforderlich sind:
| Standort | Berechtigungen |
|---|---|
| Datenbank | VERBINDEN |
| Dienstschema | ERSTELLEN, VERWENDUNG |
| Tabellen im Schema | AUSWÄHLEN, EINFÜGEN, AKTUALISIEREN, LÖSCHEN |
Speichern von Daten des Dashboard-Host-Dienstes auf einem externen PostgreSQL-Server
Erstellen Sie eine Datenbank und einen Benutzer, um sicherzustellen, dass der Benutzer über die Berechtigungen CREATE auf der Datenbank verfügt. Der Standarddatenbankname lautet grafana.
Wenn Sie mit Helm Secrets verwalten, fügen Sie Ihre Datenbank-Zugangsdaten zu systemlink-secrets.yaml hinzu:
dashboardhost:
secrets:
database:
host: "<postgresql-hostname>:<port>"
user: "systemlink"
password: "<database-password>"Stellen Sie sicher, dass in systemlink-values.yaml die Standardkonfigurationen dashboardhost.grafana.extraSecretMounts und dashboardhost.grafana.extraConfigmapMounts aktiviert sind:
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: trueSpeichern von Daten des Testüberwachungsdienstes auf einem externen PostgreSQL-Server
Erstellen Sie eine Datenbank und einen Benutzer, um sicherzustellen, dass der Benutzer über die Berechtigungen CREATE auf der Datenbank verfügt.
Künftige Aktualisierungen des Testüberwachungsdienst-Diagramms erfordern möglicherweise Änderungen am Schema und an der Tabelle. Um diese Änderungen vorzunehmen, muss das Diagramm des Testüberwachungsdienstes als Benutzer, der Eigentümer des Schemas und der Tabellen ist, agieren. Zusätzlich zu dem Benutzer, der für den tagtäglichen Betrieb verantwortlich ist, können Sie einen weiteren Benutzer mit erweiterten Berechtigungen für die Durchführung von Datenbankmigrationen angeben.
Sie können die PostgreSQL-Verbindung entweder mit einem Verbindungs-String (empfohlen) oder mit einzelnen Verbindungsparametern konfigurieren.
Verwenden eines Verbindungs-Strings (empfohlen):- Fügen Sie Ihre Zugangsdaten zu systemlink-secrets.yaml hinzu:
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" - Konfigurieren Sie dann die Verbindung in systemlink-values.yaml:
testmonitorservice: database: connectionString: secretName: "testmonitorservicedb-connection" connectionStringKey: "connection-string" migrationConnectionStringKey: "migration-connection-string" tls: enabled: true existingConfigMap: *postgresCertificateConfigMap certificateSubPath: *postgresCertificateFileName
Verwenden einzelner Verbindungsparameter:
- Alternativ können Sie Verbindungsparameter auch einzeln angeben. Fügen Sie Ihre Zugangsdaten zu systemlink-secrets.yaml hinzu:
testmonitorservice: secrets: database: connectionPassword: "<database-password>" migrationConnectionPassword: "<migration-password>" - Konfigurieren Sie dann die Verbindung in systemlink-values.yaml. Der Standarddatenbankname lautet nisystemlink und der Standardbenutzer ist 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
Speichern von Daten des Dienstes für dynamische Formularfelder auf einem externen PostgreSQL-Server
Erstellen Sie eine Datenbank und einen Benutzer, um sicherzustellen, dass der Benutzer über die Berechtigungen CREATE auf der Datenbank verfügt.
Künftige Aktualisierungen des Dienst-Diagramms für dynamische Formularfelder erfordern möglicherweise Änderungen am Schema und an der Tabelle. Um diese Änderungen vorzunehmen, muss das Diagramm des Dienstes für dynamische Formularfelder als Benutzer, der Eigentümer des Schemas und der Tabellen ist, agieren. Zusätzlich zu dem Benutzer, der für den tagtäglichen Betrieb verantwortlich ist, können Sie einen weiteren Benutzer mit erweiterten Berechtigungen für die Durchführung von Datenbankmigrationen angeben.
Sie können die PostgreSQL-Verbindung entweder mit einem Verbindungs-String (empfohlen) oder mit einzelnen Verbindungsparametern konfigurieren.
Verwendung eines Verbindungs-Strings (empfohlen):
- Fügen Sie Ihre Zugangsdaten zu systemlink-secrets.yaml hinzu:
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" - Konfigurieren Sie dann die Verbindung in systemlink-values.yaml:
dynamicformfields: database: connectionString: secretName: "dynamicformfields-db-connection" connectionStringKey: "connection-string" migrationConnectionStringKey: "migration-connection-string" tls: enabled: true existingConfigMap: *postgresCertificateConfigMap certificateSubPath: *postgresCertificateFileName
Alternativ können Sie Verbindungsparameter individuell angeben:
- Fügen Sie Ihre Zugangsdaten zu systemlink-secrets.yaml hinzu:
dynamicformfields: secrets: database: connectionPassword: "<database-password>" migrationConnectionPassword: "<migration-password>" - Konfigurieren Sie dann die Verbindung in systemlink-values.yaml. Der Standarddatenbankname lautet nisystemlink und der Standardbenutzer ist 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"
Verwandte Inhalte
- SystemLink Umgebungsarchitektur
SystemLink Enterprise ist eine Anwendung mit serviceorientierter Architektur. Von Kubernetes gehostete Microservices bilden die Architektur. SystemLink Enterprise ist skalierbar, fehlertolerant und hochverfügbar. In der folgenden Tabelle werden die wichtigsten Komponenten der SystemLink Enterprise Architektur zusammengefasst.
- Vorbereitung auf das Hosting und den Betrieb von SystemLink Enterprise
Bevor Sie SystemLink Enterprise installieren, stellen Sie sicher, dass die folgende Netzwerk-, Rechen-, Speicher- und Sicherheitsinfrastruktur vorhanden ist.
- Validieren der Installation
Testen Sie, ob SystemLink Enterprise ordnungsgemäß installiert wurde.
- SystemLink Enterprise und Kompatibilität mit externen Abhängigkeiten
- SystemLink Enterprise in Azure AKS
Azure Kubernetes Service (AKS) ist ein verwalteter Kubernetes-Dienst, der die Ausführung von Kubernetes in Azure vereinfacht, ohne dass eine eigene Kubernetes-Steuerebene installiert und betrieben werden muss.
- Erforderliche Secrets
Secrets sind Kubernetes-Objekte, die zum Speichern sensibler Informationen verwendet werden.