Nachtrag:
für Windows, Postgres 12, deutsch, Standardinstallation
Konfiguration von Postgres anpassen, um bestimmte oder alle
SQL Statements zu loggen:
C:\Program Files\PostgreSQL\12\data\postgresql.conf
Zeile:
Code:
..
#log_statement = 'none' # none, ddl, mod, all
..
Kommentarzeichen entfernen und Eintrag 'none' entsprechend der Auflistung / Bedarf anpassen.
Z.B. 'mod'
(Später wieder zurückstellen, sonst kann es schnell voll werden im System!)
Code:
..
# - Where to Log -
log_destination = 'stderr'
..
stderr ist ein Defaulteintrag, der bedeutet, dass die tatsächlich verwendeten Logfiles in der folgenden Datei explizit zu finden sind (nicht nur ein Verzeichnis):
C:\Program Files\PostgreSQL\12\data\current_logfiles
Dabei wird jeweils das konkrete, aktuell verwendete Logfile mit Tagesdatum aufgeführt.
Man landet in der Regel hier:
C:\Program Files\PostgreSQL\12\data\log\
Die Logfiles enthalten im Fehlerfall sowieso bereits
SQL Statement Text und der Loglevel muss nicht geändert werden.
z.B.
Code:
..
2020-03-14 08:09:59.324 CET [5416] FEHLER: Spalte »t_id« existiert nicht bei Zeichen 8
2020-03-14 08:09:59.324 CET [5416] TIPP: Vielleicht wurde beabsichtigt, auf die Spalte »test.´t_id´« zu verweisen.
2020-03-14 08:09:59.324 CET [5416] ANWEISUNG: select t_id from test
..
hier sind die Logging Infos (verwendete Version beachten!):
https://www.postgresql.org/docs/curr...g-logging.html
(btw: Postgres bietet schon seit langer Zeit diese vorbildliche, versionierte Doku)