Projekt

Allgemein

Profil

Aktionen

Datenbankeinstellungen und Tuning

Stand: 28.10.2026. Diese Seite dokumentiert die PRODAT-Vorgaben für PostgreSQL. PRODAT richtet die Konfiguration ein; die Kunden-IT verändert diese nicht eigenständig. Maßgeblich ist die zur installierten PRODAT-Version gehörende PSQL-Fassung. Abweichungen benötigen eine dokumentierte PRODAT-Freigabe.

Hardware, Betrieb und Abnahme: PRODAT Systemanforderungen
Netzwerkzugriff: PostgreSQL Netzwerkkonfiguration (pg_hba.conf). Zertifikate: SSL.

Maßgebliche Funktionen

  • TSystem.database_settings__set() setzt die PRODAT-Parameter mittels ALTER SYSTEM serverweit für den PostgreSQL-Cluster. Der Aufruf ist eine Konfigurationsänderung und erfolgt durch PRODAT im Rahmen von Einrichtung oder Update, nicht als unverbindlicher Test.
  • TSystem.database_settings__validate() prüft wirksame Einstellungen und weitere Datenbankbedingungen. Die gemeldeten Abweichungen sind vor Betriebsfreigabe auszuwerten und zu beheben oder durch PRODAT freizugeben.

Beide Funktionen liegen in 0050 System/010 Functions TSystem.sql. Die Links zeigen den Entwicklungsstand; für eine konkrete Installation ist deren ausgelieferter Quellstand maßgeblich. Referenz des Abgleichs: PSQL Quellstand 6f488d30

Hardwareklassen

Aktive Nutzer CPU-Kerne / vCPU RAM mindestens Konfigurationsklasse
1–9 6 16 GB Klein
10–49 12 32 GB Mittel
50–75 24 48 GB Mittel
76–200 36 ab 64 GB Groß

Hohe Einzelkernleistung hat Vorrang vor möglichst vielen Kernen. Die vorgegebene Kernanzahl ist zusätzlich zu erfüllen. Die Ressourcen gelten für den Datenbankserver ohne RDS-Sitzungen und Fremdanwendungen; Details siehe Systemanforderungen.

Parameter Klein Mittel Groß
effective_cache_size 5GB 10GB 20GB
max_worker_processes 4 6 12
max_parallel_workers 2 4 8
max_parallel_workers_per_gather 2 4 8

effective_cache_size ist eine Schätzung für den Abfrageplaner und reserviert keinen Arbeitsspeicher. Die Worker-Werte begrenzen Hintergrund- beziehungsweise Parallel-Worker, nicht die Gesamtzahl normaler Datenbankprozesse. Die Klasse und die tatsächlich wirksamen Werte sind bei Inbetriebnahme zu kontrollieren.

Speicher und datenabhängige Prüfung

shared_buffers wird durch PRODAT anhand des Datenbestands festgelegt und in positiven ganzzahligen GB angegeben. Als Ausgangspunkt können etwa 25 % des Server-RAM dienen; entscheidend sind die aktuelle PRODAT-Prüfung und die verbleibende Reserve für Betriebssystem und Abfragen.

Die aktuelle validate-Funktion berechnet einen Prüfwert als gerundete 1,5-fache Gesamtgröße der ausgewählten Tabellen art, auftg, ldsdok, lag, stv, recnokeyword und ab2 einschließlich Indizes und TOAST. Sie prüft die GB-Darstellung sowie, ob shared_buffers mindestens diesen Prüfwert erreicht. Die Funktion setzt shared_buffers nicht selbst. Bei wachsendem Datenbestand sind Einstellung und Server-RAM erneut zu prüfen.

work_mem ist auf 256MB gesetzt. Dieser Betrag kann je Sortier-/Hash-Operation und bei parallelen Abfragen mehrfach anfallen; er ist weder ein fester Verbrauch je Benutzer noch ein Gesamtlimit des Servers. Deshalb RAM-Verbrauch unter typischer gleichzeitiger Last prüfen und höhere Anforderungen durch PRODAT festlegen lassen.

Gemeinsame PRODAT Parameter

Die Werte beziehen sich auf den oben genannten Quellstand. Sie ersetzen keine Prüfung der installierten Funktionsfassung.

Parameter Wert Verwendung
work_mem 256MB Abfrage-Arbeitsspeicher pro Operation
maintenance_work_mem 512MB Wartung und Indexaufbau
seq_page_cost 5 PRODAT-Planerkosten
random_page_cost 10 PRODAT-Planerkosten
cursor_tuple_fraction 0.75 Cursor-Abfrageplanung
default_statistics_target 1000 Statistikziel
checkpoint_timeout 30min Checkpoint-Zeitgrenze
max_wal_size 2GB WAL-Zielgröße, keine harte Speicherobergrenze
min_wal_size 1GB WAL-Mindestzielgröße
vacuum_cost_limit 1500 Vacuum-Kostenlimit
log_autovacuum_min_duration 3s Lang laufende Autovacuum-Vorgänge protokollieren
from_collapse_limit / join_collapse_limit 16 / 16 Abfrageplanung
lock_timeout 60000 ms Wartezeit auf Sperren
idle_in_transaction_session_timeout 15min Inaktive offene Transaktionen begrenzen
statement_timeout 3600000 ms Standardwert 60 Minuten
max_locks_per_transaction 1024 Sperrkapazität
fsync on Wird von validate geprüft
synchronous_commit off Bestehende PRODAT-Vorgabe; bei Absturz können zuletzt bestätigte Transaktionen verloren gehen
lo_compat_privileges on PRODAT Large-Object-Kompatibilität
lc_messages en_US.UTF-8 Englische Meldungen für PRODAT-Auswertung
log_destination eventlog unter Windows Betriebssystemabhängige Protokollierung
search_path "$user",public,TSystem,prodat_languages,Z_99_Deprecated PRODAT-Schemareihenfolge

TLS und weitere Einstellungen

Der geprüfte set-Quellstand setzt ssl=on, ssl_cert_file=ssl/pgserver.chain, ssl_key_file=ssl/pgserver.key, ssl_min_protocol_version=TLSv1.2, ssl_max_protocol_version=TLSv1.2 und ssl_prefer_server_ciphers=on. Die Cipher-Liste ist der installierten set-Funktion zu entnehmen. Dies dokumentiert die PRODAT-Konfiguration und ist keine allgemeine Empfehlung, neuere TLS-Versionen dauerhaft auszuschließen. Zertifikate und Vertrauenskette nach SSL einrichten.

Betriebssystemabhängige Optionen, Locale, datestyle, temp_buffers und Logging sind anhand der eingesetzten PostgreSQL-Version und der PRODAT-Installation festzulegen. Frühere pg96-/PostgreSQL-9.3-Pfade und Linux-shmmax-Beispiele sind keine Vorgaben für neue Installationen. Ältere Angaben bleiben über die Seitenhistorie nachvollziehbar.

Konfiguration prüfen und übernehmen

Die tatsächlichen Konfigurationspfade mit SHOW config_file; und SHOW data_directory; ermitteln. ALTER SYSTEM schreibt in postgresql.auto.conf; daher ist nicht allein der Inhalt der postgresql.conf maßgeblich.

  • Einrichtung durch PRODAT mit der zur Version gehörenden set-Funktion durchführen.
  • Konfiguration mit SELECT pg_reload_conf(); neu laden. Parameter mit Neustartbedarf werden erst nach geplantem Dienstneustart wirksam.
  • In pg_settings die wirksamen Werte, source, sourcefile und pending_restart prüfen; Fehler in pg_file_settings auswerten.
  • SELECT TSystem.database_settings__validate(); ausführen und Meldungen dokumentieren. Einzelne Prüfungen benötigen die entsprechenden Datenbankrechte.
  • Typische Abläufe unter gleichzeitiger Last prüfen und die Abnahmecheckliste der Systemanforderungen ausfüllen.

Nicht alle Parameter der set-Funktion werden von validate vollständig oder klassenbezogen geprüft. Daher ersetzt eine unauffällige Rückgabe nicht den Abgleich der Hardwareklasse und der wirksamen Einstellungen.

Quellen und weiterführende Hinweise

Von [X] Daniel S vor 12 Tagen aktualisiert · 88 Revisionen