"Guillaume Smet" <[EMAIL PROTECTED]> writes: > If we consider that the prepare and the bind operations are important > (and I agree they can be), I wonder why do we remove the output we > have when log_min_duration_statement is set to 0 (I'm thinking of the > parse: and bind: lines)?
Well, we remove it for the execute: too if you have only log_duration on. My view of this is that log_duration is meant to find out the total amount of time spent doing stuff, and you set log_min_duration_statement to whatever your threshold of pain is for the amount of time spent doing a single thing. If it's less than log_min_duration_statement then you're saying you don't care about the details of that individual step, only the aggregate runtime. log_statement has another goal entirely, which is to record *what* is being done in a semantic sense, and so for that I think it makes sense to log only actual executions (and not parse/bind leading up to 'em). The only asymmetry in the thing is that if log_statement fired then we suppress duplicate printing of the query in the later duration log message (if any) for that query. But that seems like the right thing if you're at all concerned about log volume. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match