Die AE-Datenbank einrichten - PostgreSQL

Dieses Thema führt Sie durch die notwendigen Schritte zum Einrichten einer PostgreSQL Datenbank für die Automation Engine.

Hinweise:

  • Sie können entweder eine grafische Oberfläche, wie z. B. pgAdmin, oder eine Kommandozeilenschnittstelle, wie z. B. psql, zur Installation von PostgreSQL verwenden.

  • Es wird empfohlen, Kleinbuchstaben zu verwenden, wenn Sie mit PostgreSQL arbeiten.

  • Es gibt eine Reihe von obligatorischen und empfohlenen Datenbankeinstellungen, die Ihnen helfen, Ihre Datenbank zu optimieren, um eine optimale Leistung zu erzielen. Weitere Informationen finden Sie unter Die AE-Datenbank einrichten - PostgreSQL.

    Wichtig! Sie müssen die Parameter vacuum_cost_limit = 10000 und shared_preload_libraries = pg_stat_statements setzen. Andernfalls wird die Datenbank nicht gestartet.

  • Die angegebenen SQL-Anweisungen können in die psql-Shell kopiert werden.

  • Wenn Sie die Datenbank für eine Container-basierte Installation vorbereiten, stellen Sie sicher, dass Sie auch die Datei values.yaml nach Bedarf anpassen. Weitere Informationen finden Sie unter Die AE- und Analytics-Datenbanken für die Container-Installation vorbereiten.

  • Wenn Sie Cloud-gehostete Datenbanken verwenden, haben Sie möglicherweise nicht die erforderlichen Berechtigungen, um Tablespaces zu erstellen oder umzubenennen. In diesem Fall können Sie die Standard-Tablespaces angeben, die als Alternativen in Automic Automation und Automic Automation Kubernetes Edition bereitgestellt sind. Verwenden Sie bei DB Load pg_default für die ae_data- und ae_index-Tablespace-Definition.

Mehr Informationen:

Diese Seite beinhaltet Folgendes:

Erforderlicher Speicherplatz

Der anfänglich benötige Datenbank-Speicherplatz, der für eine Automation Engine-Installation benötigt wird, hängt vom Typ und von der Größe des Systems ab:

  • Testsysteme: 1 GB

  • Produktionssysteme

    • Kleine Systeme: 5–20 GB

    • Mittlere Systeme: 20–50 GB

    • Große Systeme: > 50 GB

Weitere Informationen finden Sie unter Automic Automation Systemanforderungen und Dimensionierung.

Codepage-Einstellungen

Wichtig! Es wird empfohlen, PostgreSQL mit UTF8-Kodierung einzurichten und die LATIN1- oder LATIN9-Kodierung auf dem Mandanten zu verwenden. Die Kodierung, die Sie für die-Datenbank verwenden, hängt vom Zeichensatz ab, den Sie unterstützen müssen.

Stellen Sie außerdem sicher, dass der in XML_ENCODING in der Variablen UC_SYSTEM_SETTINGS definierte Zeichensatz mit dem Zeichensatz übereinstimmt, der auf der Client-Seite ausgewählt wurde. Weitere Informationen finden Sie unter XML_ENCODING.

So scheint beispielsweise LATIN9 (ISO8859-15) die bessere Wahl zu sein, da LATIN1 das Eurozeichen (€) nicht unterstützt.

Eine PostgreSQL-Datenbank einrichten

  1. (DB Computer) Erstellen Sie einen Benutzer, der sich mit der Automation Engine verbindet, und legen Sie ein Passwort fest. Sie können den Benutzernamen frei definieren. Sie können auch doppelte Anführungszeichen verwenden, um zu verhindern, dass er automatisch in Kleinschreibung geändert wird, oder um Großschreibung oder CamelCase-Schreibweise zu verwenden. Sie müssen jedoch sicherstellen, dass der Benutzername während des gesamten Setup konsistent verwendet wird:

    CREATE USER "[Benutzername]" WITH

    LOGIN

    PASSWORD '[Kennwort]'

    CONNECTION LIMIT -1;

  2. Erstellen Sie einen Ordner, in dem der Tablespace und der Index für die Automation Engine gespeichert werden.

  3. Erstellen Sie die Tablespaces ae_data und ae_index unter diesen Namen und unter Verwendung des Pfades zu dem zuvor erstellten Ordner als Speicherort. Stellen Sie sicher, dass Ihr Benutzer über die erforderlichen Berechtigungen verfügt, um Tablespaces zu ändern:

    CREATE TABLESPACE ae_data

    OWNER postgres

    LOCATION '[Verzeichnispfad]';

    ALTER TABLESPACE ae_data

    OWNER TO [Benutzername];

    CREATE TABLESPACE ae_index

    OWNER postgres

    LOCATION '[Verzeichnispfad]';

    ALTER TABLESPACE ae_index

    OWNER TO [Benutzername];

    Hinweise:

    • Es ist nicht möglich, die Registerkartelespace und den Index auf einmal anzulegen und zu ändern. Sie müssen sie nacheinander ausführen (anlegen und ändern).

    • Wenn Sie Cloud-gehostete Datenbanken verwenden und keine Rechte zum Erstellen oder Umbenennen von Tablespaces haben, verwenden Sie pg_default für die ae_data- und ae_index-Tablespace-Definition.

    • In Automic Automation können Sie dies auf der Benutzeroberfläche des Dienstprogramms DB Load erledigen, während die Datenbank geladen wird, oder unter Verwendung der Kommandozeile, siehe .

      In Automic Automation Kubernetes Edition erledigen Sie es in der Datei values.yaml:

      databases:
        automationEngine:
          ...
          dataTablespaceName: <AE-Daten-Tablespace-Name>
          indexTablespaceName: <AE-Index-Tablespace-Name>
          ...
        analytics:
          ...
          dataTablespaceName: <Analytics-Daten-Tablespace-Name>
          indexTablespaceName: <Analytics-Index-Tablespace-Name>
          ...
  4. Erstellen Sie die neue Datenbank mit dem Benutzer, der für die Automation Engine erstellt wurde. Die Kodierung ist obligatorisch, und Ihre Datenbank muss die gleiche Kodierung wie der Client verwenden.

    Wichtig: Stellen Sie sicher, dass Sie die Werte TEMPLATE, ENCODING, LC_COLLATE oder LC_CTYPE nicht ändern.

    CREATE DATABASE [Datenbank]

    WITH

    OWNER = "[Benutzername]"

    TEMPLATE = template0

    ENCODING = 'UTF8'

    TABLESPACE= ae_data

    LC_COLLATE = 'C'

    LC_CTYPE = 'C'

    CONNECTION LIMIT = -1;

  5. Legen Sie ein neues Schema für die Automation Engine an.

    Wichtig! Wechseln Sie zur neu erstellten Datenbank, bevor Sie ein neues Schema erstellen.

    CREATE SCHEMA [Schema]

    AUTHORIZATION "[Benutzername]";

  6. Fügen Sie den Standardsuchpfad zu Ihrem Benutzer hinzu.

    ALTER ROLE "[Benutzername]" IN DATABASE [Datenbank]

    SET search_path TO '[Schema]';

Hinweis: Verwenden Sie das folgende String-Format für die Verbindung mit der neuen Datenbank:

SQLDRIVERCONNECT=ODBCVAR=NNJNIORP,host=host01 port=5432 dbname=[Datenbank] user=[Benutzername] password=[Passwort] connect_timeout=10 client_encoding=[Kodierung]

Der String nach dem Komma ist ein Standard PostgreSQL Verbindungs-String.

Windows-Einrichtung

Alle .dll-Dateien müssen dem bin-Ordner der Automation Engine und der Dienstprogramme hinzugefügt oder in den Windows-Pfad aufgenommen werden.

Diese Dateien sind Teil des psqlodbc-Pakets und können von https://www.postgresql.org/ftp/odbc/versions/dll/ heruntergeladen werden. Stellen Sie sicher, dass Sie die aktuellste Version für Ihre PostgreSQL-Installation verwenden.

UNIX

Stellen Sie sicher, dass ein PostgreSQL-Mandant installiert ist.

Installationsbeispiel

Das folgende Beispiel zeigt den Installations- und Verbindungs-String einer Datenbank mit den folgenden Parametern:

  • Benutzer: automic

  • Passwort: 1

  • Speicherort: C:\pg, C:\pg2

  • Datenbank: aedb

  • Schema: dbo

     

     

    CREATE USER "automic" WITH

    LOGIN

    PASSWORD '1'

    CONNECTION LIMIT -1;

     

    CREATE TABLESPACE ae_data

    OWNER postgres

    LOCATION 'C:\pg';

     

    ALTER TABLESPACE ae_data

    OWNER TO automic;

     

    CREATE TABLESPACE ae_index

    OWNER postgres

    LOCATION 'C:\pg2';

     

    ALTER TABLESPACE ae_index

    OWNER TO automic;

     

    CREATE DATABASE aedb

    WITH

    OWNER = "automic"

    TEMPLATE = template0

    ENCODING = 'UTF8'

    TABLESPACE = ae_data

    LC_COLLATE = 'C'

    LC_CTYPE = 'C'

    CONNECTION LIMIT = -1;

     

    --Wechseln Sie zur neu erstellten Datenbank, bevor Sie ein neues Schema erstellen.

    CREATE SCHEMA dbo

    AUTHORIZATION "automic";

     

    ALTER ROLE "automic" IN DATABASE aedb

    SET search_path TO 'dbo';

     

    SQLDRIVERCONNECT=ODBCVAR=NNJNIORP,host=host01 port=5432 dbname=aedb user=automic password=1 connect_timeout=10 client_encoding=LATIN9

Wichtig! Beachten Sie Folgendes, wenn Sie eine Cloud-gehostete Datenbank verwenden:

  • Nachdem Sie den Benutzer erstellt haben, stellen Sie sicher, dass er Zugriff auf die PostgreSQL-Datenbank hat. Ist dies nicht der Fall, verwenden Sie den folgenden Befehl, um Zugriff zu gewähren:

    GRANT automic TO postgres

  • Wenn Sie keine Tablespaces erstellen können, müssen Sie sie beim Erstellen der Datenbank nicht definieren. Zum Beispiel:

    CREATE DATABASE aedb

    WITH

    OWNER = "automic"

    TEMPLATE = template0

    ENCODING = 'UTF8'

    LC_COLLATE = 'C'

    LC_CTYPE = 'C'

    CONNECTION LIMIT = -1;

Optimierung Ihrer PostgreSQL-Datenbank

Als Datenbankadministrator möchten Sie, dass Ihre Datenbank Spitzenleistungen erbringt. Es gibt eine Reihe von obligatorischen und empfohlenen Datenbankeinstellungen, die Ihnen helfen, Ihre Datenbank für die Arbeit mit der Automation Enginezu optimieren. Sie müssen die Datenbank nach der Änderung neu starten.

Hinweis: Die Parameter, die nicht als zwingend erforderlich oder empfohlen aufgelistet sind, können vom Datenbankadministrator geändert werden, wie in den PostgreSQL-Konfigurationseinstellungen (postgresql.conf) beschrieben. Weitere Informationen finden Sie unter https://www.postgresql.org/docs/current/static/config-setting.html.

Obligatorische Einstellungen

  • shared_preload_libraries = pg_stat_statements

  • log_lock_waits = on

  • idle_in_transaction_session_timeout = 600000

  • pg_stat_statements.track_utility= on

  • autovacuum_vacuum_cost_delay = 0

  • vacuum_cost_limit = 10000

Empfohlene Einstellungen

  • shared_buffers = 25 % bis 40 % des RAM

  • work_mem = Siehe PostgreSQL-Dokumentation.

  • maintenance_work_mem = Siehe PostgreSQL-Dokumentation.

  • effective_cache_size 50 % des RAM

  • autovacuum_vacuum_scale_factor = 0.01

  • autovacuum_naptime = max. 1 Minute

  • random_page_cost = 1.0

PostgreSQL-Datenbankverbindungen sichern

Mit TLS/SSL können Sie die Verbindung zwischen der PostgreSQL-Datenbank und Ihrer lokalen Automic Automation-Installation sichern.

Hinweise:

  • Stellen Sie sicher, dass Sie mit PostgreSQL DB Server 11 oder höher arbeiten.

  • Beachten Sie, dass Sie für das DB-Serverzertifikat verantwortlich sind, das Sie mit Automic Automation verwenden möchten. Wenn Sie TLS/SSL verwenden, um Ihre Datenbank mit der Automation Engine zu verbinden, stellen Sie sicher, dass das entsprechende Zertifikat korrekt eingerichtet ist. Andernfalls schlägt die Verbindung möglicherweise fehl.

Weitere Informationen und ein Beispiel, wie Sie die Datenbankverbindung mit TLS/SSL sichern, finden Sie unter Automic Automation-Datenbankverbindungen sichern.

Siehe auch: