Martin A. Brooks a écrit :
> Hi
>
> I want to have postgres log sql statements that take longer than 5
> seconds to execute. In postgresql.conf I have set
> log_min_duration_statement as follows:
>
> root@martin-desktop:/etc/postgresql/8.3/main# grep log_min_duration
> postgresql.conf
> log_min_duration_statement = 5000 # -1 is disabled, 0 logs all
> statements
>
> However, in the log files, I'm seeing entries for all SQL executed, not
> just that taking 5000ms or more. For example:
>
> 2008-10-14 10:15:50 BST PID:20349 DB:vhdb LOG: statement: select * from
> vendors;
> 2008-10-14 10:15:50 BST PID:20349 DB:vhdb LOG: duration: 0.259 ms
> 2008-10-14 10:15:50 BST PID:20349 DB:vhdb LOG: QUERY STATISTICS
> 2008-10-14 10:15:50 BST PID:20349 DB:vhdb DETAIL: ! system usage stats:
> ! 0.000281 elapsed 0.000000 user 0.000000 system sec
> ! [0.004000 user 0.004000 sys total]
> ! 0/0 [0/176] filesystem blocks in/out
> ! 0/0 [0/923] page faults/reclaims, 0 [0] swaps
> ! 0 [0] signals rcvd, 0/0 [0/0] messages rcvd/sent
> ! 0/0 [8/0] voluntary/involuntary context switches
> ! buffer usage stats:
> ! Shared blocks: 0 read, 0 written,
> buffer hit rate = 100.00%
> ! Local blocks: 0 read, 0 written,
> buffer hit rate = 0.00%
> ! Direct blocks: 0 read, 0 written
>
This last log is enabled with the log_statement_stats parameter. Set it
to off to disable it.
--
Guillaume.
http://www.postgresqlfr.org
http://dalibo.com