Optimierung der Fehlermeldungen in PostgreSQL: Verwendung von log_error_verbosity und client_min_messages

Einleitung

In der Welt der Datenbanken ist PostgreSQL für seine Zuverlässigkeit und Leistungsfähigkeit bekannt. Dennoch kann es vorkommen, dass Entwickler und Administratoren auf kryptische Fehlermeldungen stoßen, die nur begrenzt Aufschluss über die eigentliche Ursache eines Problems geben. In solchen Fällen ist es hilfreich, die Detailtiefe der Fehlermeldungen zu erhöhen. Hier kommen die Parameter log_error_verbosity und client_min_messages ins Spiel. In diesem Artikel erläutere ich, wie Du diese Parameter verwenden kannst, um umfassendere und hilfreichere Fehlermeldungen zu erhalten.

Der Parameter log_error_verbosity

Der Parameter log_error_verbosity bestimmt, wie detailliert die Fehlerprotokolle von PostgreSQL sind. Es gibt drei mögliche Einstellungen:

  • TERSE: Liefert die minimal notwendige Information.
  • DEFAULT: Standardmäßige Detailtiefe, die ausreichend Informationen für die meisten Anwendungen bietet.
  • VERBOSE: Bietet die höchste Detailtiefe und ist besonders nützlich für das Debuggen komplexer Probleme.

Anwendung von log_error_verbosity

Um die Detailtiefe der Fehlermeldungen zu erhöhen, kannst Du log_error_verbosity auf VERBOSE setzen. Dies kann entweder in der PostgreSQL-Konfigurationsdatei (postgresql.conf) oder direkt in einer SQL-Sitzung erfolgen.

In der postgresql.conf Datei
  1. Öffne die postgresql.conf Datei in einem Texteditor:
   sudo nano /etc/postgresql/<version>/main/postgresql.conf
  1. Suche nach dem Parameter log_error_verbosity und setze ihn auf verbose:
   log_error_verbosity = verbose
  1. Speichere die Datei und schließe den Editor.
  2. Starte den PostgreSQL-Server neu, damit die Änderungen wirksam werden:
   sudo systemctl restart postgresql
In einer SQL-Sitzung

Du kannst die Einstellung auch vorübergehend in einer SQL-Sitzung ändern:

SET log_error_verbosity = 'verbose';

Der Parameter client_min_messages

Der Parameter client_min_messages steuert, welche Meldungen an den Client gesendet werden. Die verfügbaren Stufen sind:

  • DEBUG5 bis DEBUG1: Sehr detaillierte Debug-Informationen.
  • INFO: Informative Nachrichten.
  • NOTICE: Wichtige Hinweise.
  • WARNING: Warnungen vor möglichen Problemen.
  • ERROR: Fehler, die eine Aktion verhindern.
  • LOG: Nachrichten, die im Serverlog erscheinen.
  • FATAL: Kritische Fehler, die die Sitzung beenden.
  • PANIC: Schwerwiegende Fehler, die den Server stoppen.

Anwendung von client_min_messages

Um sicherzustellen, dass alle relevanten Meldungen angezeigt werden, kannst Du client_min_messages auf die detaillierteste Stufe DEBUG5 setzen.

In der postgresql.conf Datei
  1. Öffne die postgresql.conf Datei in einem Texteditor:
   sudo nano /etc/postgresql/<version>/main/postgresql.conf
  1. Suche nach dem Parameter client_min_messages und setze ihn auf debug5:
   client_min_messages = debug5
  1. Speichere die Datei und schließe den Editor.
  2. Starte den PostgreSQL-Server neu:
   sudo systemctl restart postgresql
In einer SQL-Sitzung

Du kannst die Einstellung auch vorübergehend in einer SQL-Sitzung ändern:

SET client_min_messages = debug5;

Zusammenfassung

Die Anpassung der Parameter log_error_verbosity und client_min_messages kann Dir helfen, detailliertere und nützlichere Fehlermeldungen in PostgreSQL zu erhalten. Dies erleichtert das Debuggen und die Fehlerbehebung erheblich. Denke daran, dass Änderungen an diesen Parametern die Menge der geloggten Informationen erheblich erhöhen können, was sich auf die Performance und die Größe der Logdateien auswirken kann. Verwende diese Einstellungen daher mit Bedacht und nur für die Zeit, die zur Problemlösung erforderlich ist.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert