PostgreSQL® - postgres.conf-Parameter

Für die Leseperformance der NGA-Abfragen (dpGetPeriod, dpGetPeriodSplit...) müssen Parameter in der Datei <PG installation path>/<PG version>/postgres.conf geändert werden.
Note:
Beachten Sie, dass diese Parameter für ein PostgreSQL®-Datenbank-Backend, das von WinCC OA verwaltet wird, automatisch eingestellt werden.
Für ein DBAdmin-managed PostgreSQL® database backend müssen Sie jedoch die folgenden Parameter setzen:
Table 1. postgres.conf-Parameter
Parameter Beschreibung
shared_buffers Da WinCC OA in einem Bereich von sehr kleinen bis sehr großen Servern eingesetzt wird, wird beim ersten Start eines verwalteten NGA-Projekts die verfügbare physische RAM-Größe ermittelt und die Größe des gemeinsamen Pufferspeichers durch Hauptspeicher RAM * 0,25 definiert.

Der Parameter muss eine ganze Zahl sein und kann entweder in MB oder in GB angegeben werden, z. B.

shared_buffers = 128MB
oder
shared_buffers = 2GB
work_mem Diese Einstellung steuert die Menge an Speicher, die für interne Sortiervorgänge und Hash-Tabellen zugewiesen wird, bevor in temporäre Datenträgerdateien geschrieben wird. Passen Sie diese Einstellung entsprechend Ihrer Arbeitslast und der Anzahl der gleichzeitigen Verbindungen an. Setzen Sie den Parameter
work_mem:
"work_mem = 128MB"
max_parallel_workers_per_gather Parallelisierung der Abfrageausführung, die große, komplexe Abfragen erheblich beschleunigen kann, indem die Arbeitslast auf mehrere CPU-Kerne verteilt wird. Setzen Sie den Parameter

max_parallel_workers_per_gather:

"max_parallel_workers_per_gather = 4"
max_parallel_workers Dieser Eintrag legt die maximale Anzahl paralleler Worker fest, die PostgreSQL® verwenden kann. Beachten Sie, dass die kombinierten Werte von max_parallel_workers_per_gather und max_parallel_maintenance_workers niemals den Wert von max_parallel_workers überschreiten.

Wenn beispielsweise max_parallel_workers auf 2 gesetzt ist, aber max_parallel_workers_per_gather und max_parallel_maintenance_workers beide auf 100 gesetzt sind, verwendet das System dennoch maximal nur 2 parallele Worker.

Standardmäßig (für neue Projekte, die die Standard-PostgreSQL®-Datenbank verwenden) ist dieser Wert so eingestellt, dass er der Anzahl der CPU-Kerne im System entspricht. Um die Datenbankleistung zu verbessern – insbesondere bei der Ausführung von Abfragen über mehrere Archivgruppen hinweg oder bei der gleichzeitigen Ausführung vieler Abfragen, z. B. bei der Verwendung vieler statistischer Funktionen – können Sie max_parallel_workers erhöhen.
Important:
Setzen Sie diesen Wert jedoch nicht höher als die Anzahl der in Ihrem System verfügbaren CPU-Kerne.
random_page_cost Dieser Parameter hilft die Kosten für zufällige Seitenzugriffe auf die Festplatte abzuschätzen, die aufgrund der zusätzlichen Suchzeit in der Regel teurer sind als sequenzielle Zugriffe. Setzen Sie den Parameter random_page_cost:
"random_page_cost = 1"
maintenance_work_mem Mit diesem Parameter wird Arbeitsspeicher für Wartungsaufgaben zugewiesen, was dazu beitragen kann, Vorgänge wie das Vakuumieren und Indizieren zu beschleunigen, da sie mehr Daten im Arbeitsspeicher verarbeiten können, anstatt sich auf die langsamere Festplatten-E/A zu verlassen. Ermitteln Sie auch die verfügbare physische RAM-Größe und setzen Sie den Parameter auf z.B.
Hauptspeicher-RAM * 0,03125
"maintenance_work_mem = 1 GB"