Wenn Sie
setzenlog_min_duration_statement = 0
log_statement = all
in Ihrer postgresql.conf, dann sehen Sie, dass alle Anweisungen in der Postgres-Protokolldatei protokolliert werden.
Wenn Sie
aktivierenlog_duration
Dadurch wird auch die für jede Anweisung benötigte Zeit gedruckt. Dies ist standardmäßig deaktiviert.
Mit dem log_statement
Parameter können Sie steuern, welcher Typ der Anweisung, die Sie protokollieren möchten (DDL, DML, ...)
Dies erzeugt eine Ausgabe wie diese in der Protokolldatei:
2012-10-01 13:00:43 CEST postgres LOG: statement: select count(*) from pg_class; 2012-10-01 13:00:43 CEST postgres LOG: duration: 47.000 ms
Mehr Details im Handbuch:
- http://www.postgresql.org/docs/8.4/static/runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHEN
- http://www.postgresql.org/docs/8.4/static/runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHAT
Wenn Sie eine tägliche Liste wünschen, möchten Sie wahrscheinlich die Protokolldatei so konfigurieren, dass sie täglich rotiert. Auch dies ist im Handbuch beschrieben.