PostgreSQL Fehlerprotokoll mit Syslog erstellen
PostgreSQL bietet zahlreiche Möglichkeiten des protokolierens von Fehlern und Aktionen auf der Datenbank. Jedoch werden standardmäßig alle Logeinträge in ein Logfile geschrieben. Dennoch ist es sehr einfach möglich Fehlermeldungen von PostgreSQL in eine andere Datei umzuleiten als Warnungen und andere Meldungen.
Eine sehr sinnvolle Einstellung von PostgreSQL in der postgresql.conf ist der Eintrag log_min_error_statement. Damit wird PostgreSQL so konfiguriert das wenn ein SQL Befehl einen Fehler verursacht, nicht nur der Fehler in der postgresql.log Datei protokoliert wird, sondern auch das dafür verantwortliche SQL Statement.
log_min_error_statement = error
Diese Einstellung bewirkt das nur im Falle eines Fehlers oder schlimmeren das SQL Statement Protokolliert werden soll. andere Einstellungesmöglichkeiten wären: debug5, debug4, debug3, debug2, debug1, info, notice, warning, error, log, fatal und panic. Je nach gewünschtem Grad wird dann jedes SQL Statement gespeichert oder nur im Falle eines Systemfehlers.
Um jetzt mit hilfe von Syslog Fehlereinträge in eine eingene Logdatei zu speichern. Muss jetzt nur noch in der syslog.conf ein Eintrag vorgenommen werden.
local0.error /var/log/postgresql/error.log
Auch hier gilt, sollen schon andere Meldungen von PostgreSQL in die angegebene Logfile umgleitet werden muss das jeweilige Level nur anstelle von 'error' angegeben werden. Natürlich ist es auch möglich für jeder Fehlerart ein eigenes Logfile anzulegen. Dafür muss dann nur für jedes gewünschte Level ein Eintrag in der syslog.conf vorgenommen werden.
Viel Spaß beim Ausprobieren
Frank Glück