Installation und Upgrade > ThingWorx installieren > Manuelle Installation > Installationsanhänge > PostgreSQL für RHEL installieren und konfigurieren
PostgreSQL für RHEL installieren und konfigurieren
Die unten stehenden Anweisungen sind für den PostgreSQL-Administrator (nicht die DB-Hostserver) vorgesehen. Wenn Sie die HA-Ebene in Ihre Implementierung einschließen, informieren Sie sich im Abschnitt Hochverfügbarkeit mit ThingWorx in diesem Hilfe-Center.
PostgreSQL installieren und neue Benutzerrolle erstellen
* 
Folgende Schritte gehen von einer Version von RHEL mit einer GUI (X11) und einem aktiven Konto mit Zugriff auf die RHEL-Software-Repositories aus. Wenn Sie ohne GUI arbeiten, überspringen Sie die Installation von pgAdmin. In diesem Supportartikel finden Sie alternative Anweisungen. Wenn Sie keinen Zugriff auf die offiziellen RHEL-Softwarequellen haben, können Sie ein kostenloses Open-Source-Repository einrichten (mithilfe des EPEL-Teams). (Diese Website wird nicht von PTC bereitgestellt oder kontrolliert.)
1. Informationen zu unterstützten PostgreSQL-Versionen finden Sie in den ThingWorx Systemanforderungen in diesem Hilfe-Center.
* 
Die Schritte in diesem Verfahren verwenden PostgreSQL-Version x.x, wobei x.x die unterstützte Version ist.
2. Fügen Sie das PostgreSQL-Repository zu Yum hinzu, und installieren Sie es.
3. Installieren Sie pgAdmin, das PostgreSQL-Admin-Tool:
$ sudo yum install pgadmin4
* 
Informationen zum Installieren von pgAdmin über die Befehlszeile finden Sie unter https://wiki.postgresql.org/wiki/Manual_Setup_at_the_Command_Line.
4. Initialisieren und starten Sie die Datenbank:
$ sudo /usr/pgsql-x.x/bin/postgresqlx.x-setup initdb
Richten Sie den PostgreSQL-Dienst so ein, dass er beim Start gestartet wird:
$ sudo chkconfig postgresql-x.x on
$ sudo service postgresql-x.x start
5. Richten Sie das Passwort für den PostgreSQL-Benutzer ein:
$ sudo passwd postgres
6. Geben Sie das Passwort für den PostgreSQL-Benutzer ein. Sie verwenden dieses Passwort in späteren Schritten.
* 
Das Passwort, das nicht einfach zu erraten oder kein bekanntes, allgemeines Passwort sein sollte, sollte mindestens 14 Zeichen lang sein und eine Kombination aus Groß- und Kleinbuchstaben, Zahlen und Sonderzeichen enthalten.
7. Richten Sie den PostgreSQL-Benutzer in psql ein. Der Wert für <eindeutiges PostgreSQL-Passwort> ist der Wert, den Sie oben eingegeben haben.
* 
Wenn sich die PostgreSQL-Datenbank nicht auf demselben Server wie ThingWorx befindet, gehen Sie zum Abschnitt PostgreSQL-Datenbank konfigurieren, die sich auf einem anderen Server als ThingWorx befindet (optional), und überspringen Sie die nächsten zwei Schritte. Es ist zwar optional, die PostgreSQL-Datenbank in einer Entwicklungsumgebung auf demselben Server wie ThingWorx zu haben, sie sollte jedoch in allen Produktionsumgebungen separat sein.
$ sudo -u postgres psql -c "ALTER ROLE postgres WITH password '<unique PostgreSQL password>'"
8. Falls Sie die Befehlszeile verwenden, öffnen Sie die folgenden Dateien und nehmen Sie die nachfolgenden Bearbeitungen vor. Überspringen Sie diesen Schritt, wenn Sie pgAdmin verwenden.
/var/lib/pgsql/x.x/data/postgresql.conf: Kommentieren Sie listen addresses und port aus. Die Standardeinstellungen für localhost und 5432 sind normalerweise ausreichend.
/var/lib/pgsql/x.x/data/pg_hba.conf: Legen Sie Method auf md5 fest.
9. Konfigurieren Sie pgAdmin. Überspringen Sie diesen Schritt, wenn Sie pgAdmin nicht verwenden.
$ sudo pgadmin4
Klicken Sie in der pgAdmin-GUI auf file->Open postgresql.conf.
Öffnen Sie /var/lib/pgsql/x.x/data/postgresql.conf.
Setzen Sie ein Häkchen neben listen addresses und port. Die Standardeinstellungen für localhost und 5432 sind normalerweise ausreichend.
Speichern und schließen Sie die Datei.
Klicken Sie auf file->Open pg_hba.conf.
Öffnen Sie /var/lib/pgsql/x.x/data/pg_hba.conf.
Doppelklicken Sie auf die Datenbankzeile "all" mit Adresse 127.0.0.1/32.
Legen Sie "Method" auf md5 fest.
Klicken Sie auf OK.
Speichern und beenden Sie.
Schließen Sie pgAdmin.
10. Starten Sie den PostgreSQL-Dienst neu:
$ sudo service postgresql-x.x restart
.
11. Richten Sie pgAdmin ein, um eine Verbindung zur Datenbank herzustellen:
$ sudo pgadmin4
12. Klicken Sie oben links auf das Steckersymbol, um eine Verbindung zum Server herzustellen, und geben Sie Folgendes an:
Name: PostgreSQL x.x
Host: localhost
Port: 5432
Service: <blank>
Maintenance DB: postgres
Username: postgres
Password: <unique PostgreSQL password as set previously>
Store password: Checked
Group: Servers
13. Klicken Sie auf OK.
14. Erstellen Sie eine neue Benutzerrolle:
* 
Der folgende Befehl kann verwendet werden, wenn Sie PgAdmin nicht verwenden:
sudo -u postgres psql -c "CREATE USER twadmin WITH PASSWORD '<unique postgres password>';"
a. Klicken Sie mit der rechten Maustaste auf PostgreSQLx.x (localhost:5432).
b. Wählen Sie Create - Login/Group Role aus. Geben Sie auf der Registerkarte General im Feld Name den <PostgreSQL-Benutzerrollennamen> für die PostgreSQL-Verwaltung ein.
c. Wählen Sie auf der Registerkarte Privileges Yes für Can login? aus.
d. Geben Sie auf der Registerkarte Definition im Feld Passwort ein eindeutiges und sicheres Passwort für PostgreSQL ein.
e. Klicken Sie auf OK. Notieren Sie sich den Benutzerrollennamen und das Passwort, die in diesem Schritt erstellt wurden, für die spätere Verwendung.
PostgreSQL-Datenbank konfigurieren, die sich auf einem anderen Server als ThingWorx befindet
* 
Dieser Abschnitt ist für Entwicklungsumgebungen optional, sollte jedoch für alle Produktionsumgebungen implementiert werden.
Standardmäßig wird der PostgreSQL-Server in einem gesperrten Zustand installiert. Der Server überwacht nur auf Verbindungen vom lokalen Computer. Damit ThingWorx mit dem PostgreSQL-Server kommuniziert, müssen einige Konfigurationsänderungen vorgenommen werden, sodass PostgreSQL auf Verbindungen von anderen Benutzern (Thingworx Benutzer, Standardeinstellung ist twadmin) und/oder anderen Rechnern (ThingWorx auf einem separaten Server installiert) überwacht.
Sie müssen für folgende Schritte wissen, wo sich Ihr PostgreSQL-Datenverzeichnis befindet. Unter Linux kann sich auf Grundlage der Verteilungs- und Installationsmethode (Download oder Paketmanager-Installation) Folgendes ändern: Speicherort des Datenordners oder sogar die Konfigurationsdateien. Dieser Speicherort wird als <PGDATA> in diesen Anweisungen bezeichnet.
Ändern Sie die Datei pg_hba.conf, und fügen Sie die folgenden Zeilen basierend auf Ihrer gewünschten Konfiguration hinzu:
Wenn Sie eine Verbindung aller IPv4-Adressen zulassen möchten:
host all all 0.0.0.0/0 md5
Wenn Sie nur die Verbindung einer bestimmten IPv4-Adresse zulassen möchten (<IP-Adresse> durch die IP-Adresse des Rechners für die Verbindung ersetzen):
host all all <ipAddress>/32 md5
Wenn Sie eine Verbindung aller IPv6-Adressen zulassen möchten:
host all all ::0/0 md5
Wenn Sie nur die Verbindung einer bestimmten IPv6-Adresse zulassen möchten (<IPv6-Adresse> durch die entsprechende Adresse ersetzen):
host all all <ipv6Address>/128 md5
Jede andere Kombination ist möglich, indem Sie zusätzliche genehmigte Zeilen (individuelle IPs oder Bereiche) oder Subnetzmasken für die Rechner verwenden, die Zugriff auf die PostgreSQL-Datenbank erfordern.
Jede Änderung an dieser Datei erfordert einen Neustart des Datenbankdienstes.
* 
Weitere Informationen zum Konfigurieren der Datei pg_hba.conf finden Sie in der PostgreSQL-Dokumentation.
PostgreSQL für Überwachung aller Verbindungen aktivieren
Für Linux-Installationen von PostgreSQL gibt es einen zusätzlichen Konfigurationsschritt, um den PostgreSQL-Server für das Überwachen von Verbindungen zu konfigurieren.
1. Heben Sie die Auskommentierung in der Datei postgresql.conf auf, und aktualisieren Sie die Zeile listen_addresses:
Uncomment the listen_addresses line and change localhost to '*'
# Listen on all addresses. Requires restart.
listen_addresses = '*'
2. Starten Sie den PostgreSQL-Server neu.
PostgreSQL-Datenbankskript konfigurieren und ausführen
Zum Einrichten der PostgreSQL-Datenbank und des Tablespace muss das Skript ThingworxPostgresDBSetup konfiguriert und ausgeführt werden.
* 
Nach ThingWorx 9.3.1 sind die Erstellung des Ordners ThingworxPostgresqlStorage oder alle Schritte in Bezug auf den Parameter -l nicht mehr erforderlich, und die ThingWorx-Daten werden am Standardspeicherort von PostgreSQL gespeichert.
1. Das Skript thingworxPostgresDBSetup befindet sich im ThingWorx Software-Download-Paket. Das Skript befindet sich im Ordner install. ThingWorx Downloads stehen unterPTC Software-Downloads zur Verfügung.
2. Konfigurieren Sie das Skript bei Bedarf. Referenzieren Sie die Optionen in der folgenden Tabelle.
* 
Dieses Beispiel verwendet den x.x.x-Download auf der PTC Website. Ändern Sie den Dateinamen in die Version, die Sie verwenden.

$ sudo unzip MED-61111-CD-085_ThingWorx-Platform-Postgres-x-x-x.zip
$ cd install
thingworxPostgresDBSetup-Skriptoptionen
Option
Parameter
Standard
Beschreibung
Beispiel
t oder -T
tablespace
thingworx
Tablespace-Name
-t thingworx
-p oder -P
port
5432
Port-Nummer von PostgreSQL
-p 5432
-d oder -D
database
thingworx
Name der zu erstellenden PostgreSQL-Datenbank
-d thingworx
-l oder -L
tablespace_location
/ThingworxPostgresqlStorage
Erforderlich in ThingWorx 9.3.0 und früher. Speicherort im Dateisystem für die Dateien, die Datenbankobjekte darstellen. Benutzer muss diesen Ordner manuell mit Berechtigungen erstellen, bevor das Skript ausgeführt wird, und dann den Pfad angeben, z.B. -l /ThingworxPostgresqlStorage
* 
Der Ordner muss über die entsprechenden Besitz- und Zugriffsrechte verfügen. Er sollte demselben Benutzer gehören, der den PostgreSQL-Dienst ausführt und dem die vollständige Steuerung zugewiesen ist.
-l oder -L
-h oder -H
host
localhost
Name des Hosts.
-h localhost
-a oder -A
adminusername
postgres
Administratorname
-a postgres
-u oder -U
thingworxusername
twadmin
Name des Benutzers, der die Berechtigungen hat, um in die Datenbank zu schreiben
-u twadmin
3. Um Datenbank und Tablespace mit einer PostgreSQL-Standardinstallation einzurichten, die eine PostgreSQL-Datenbank und einen PostgreSQL-Benutzernamen hat, geben Sie Folgendes ein:
$ sudo sh thingworxPostgresDBSetup.sh -a postgres -u <user role name> -l /ThingworxPostgresqlStorage
4. Führen Sie das Skript aus.
Schemaskript für Modell-/Datenanbieter konfigurieren und ausführen
Zum Einrichten des PostgreSQL-Schemas für Modell-/Datenanbieter muss das Skript thingworxPostgresSchemaSetup konfiguriert und ausgeführt werden. Dies richtet das öffentliche Schema unter der Datenbank für die PostgreSQL-Instanz auf localhost ein.
1. Die Datei thingworxPostgresSchemaSetup befindet sich im ThingWorx Software-Download-Paket. Öffnen Sie sie. Das Skript befindet sich im Ordner install.
2. Konfigurieren Sie das Skript bei Bedarf. Referenzieren Sie die Optionen in der folgenden Tabelle.
* 
Das Skript kann mit den Standardparametern ausgeführt werden als:
$ sudo sh thingworxPostgresSchemaSetup.sh
thingworxPostgresSchemaSetup-Skriptoptionen
Option
Parameter
Standard
Beschreibung
Beispiel
-h oder -H
host
localhost
IP oder Host-Name der Datenbank.
-h localhost
-p oder -P
port
5432
Port-Nummer von PostgreSQL.
-p 5432
-d oder -D
database
thingworx
Name der zu verwendenden Datenbank.
-d thingworx
-s oder -S
schema
public
Name des zu verwendenden Schemas
-s myschema
* 
Wenn public oder $user nicht verwendet wird, müssen Sie die Datei postgresql.conf bearbeiten und SEARCH_PATH Ihrem Schema hinzufügen. Beispiel: search_path = '"$user", public, "myschema"'
-u oder -U
username
twadmin
Benutzername, um das Datenbankschema zu aktualisieren
-u twadmin
-o oder -O
Option
all
Es stehen drei Optionen zur Verfügung:
all: Richtet die Modell- und Datenanbieterschemas in der angegebenen Datenbank ein.
model: Richtet das Modellanbieterschema in der angegebenen Datenbank ein.
data: Richtet das Datenanbieterschema in der angegebenen Datenbank ein.
-o data
3. Führen Sie das Skript aus.
* 
Der Benutzername sollte mit dem PostgreSQL-Benutzernamen übereinstimmen, der zuvor erstellt wurde.
"platform-settings.json" konfigurieren
1. Öffnen Sie die Datei platform-settings.json, die sich unter ThingworxPlatform befindet.
2. Beziehen Sie sich auf die PostgresPersistenceProviderPackage-Konfigurationsoptionen in platform-settings.json – Konfigurationsdetails, und fügen Sie sie der platform-settings.json hinzu.
* 
Wenn der PostgreSQL-Server nicht derselbe wie der ThingWorx Server ist und Sie Probleme mit Ihrer ThingWorx Installation haben, überprüfen Sie Ihre Tomcat-Protokolle und die Datei platform-settings.json. Bei der Standardinstallation wird davon ausgegangen, dass beide Server auf demselben Rechner vorhanden sind.
PostgreSQL-Passwort verschlüsseln
Verschlüsseln Sie das Passwort anhand der Schritte unter Passwörter verschlüsseln.
(Optional) PostgreSQL-Client-Paket und PostgreSQL-Benutzer installieren
Um die PostgreSQL-Befehle vom Client-Rechner an den PostgreSQL-Server auszugeben, verwenden Sie einen PostgreSQL-Benutzer. Das postgresql-client-x.x-Paket kann auf dem Client-Rechner installiert werden. In der Verteilungsdokumentation erfahren Sie mehr zur Installation. Dieses Paket stellt einige Verwaltungstools wie psql bereit.
War dies hilfreich?