Jeśli ustawisz
log_min_duration_statement = 0
log_statement = all
w pliku postgresql.conf, zobaczysz, że wszystkie wyrażenia są logowane do pliku dziennika Postgres.
Jeśli włączysz
log_duration
który również wydrukuje czas potrzebny na każdą instrukcję. Domyślnie jest to wyłączone.
Korzystanie z log_statement
parametr, który możesz kontrolować, który typ wyciągu, który chcesz zarejestrować (DDL, DML, ...)
W pliku dziennika pojawi się taki wynik:
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
Więcej szczegółów w instrukcji:
- http://www.postgresql.org/docs/8.4/static/runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-GDY
- http://www.postgresql.org/docs/8.4/static/runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-CO
Jeśli chcesz mieć codzienną listę, prawdopodobnie chcesz skonfigurować plik dziennika tak, aby zmieniał się codziennie. Ponownie jest to opisane w instrukcji.