Timing a Query
There are actually several ways you can time a query, and each has value depending on what you want to measure. You can time a query at
the server (from the time it arrives until the time it completes) by setting the server parameter log_min_duration_statement = 0.
However, that does not measure the network overhead, which can be done using \timing in psql. Then there is the connection and
application overhead that is measured by time at the command-line. This command measures all three aspects of a query:
$ time PGOPTIONS='-c log_min_duration_statement=0 -c client_min_messages=log' psql <<END
\timing
select 1;
END
Timing is on.
LOG: duration: 0.318 ms statement: select 1;
?column?
----------
1
(1 row)
Time: 0.435 ms
real 0m0.006s
user 0m0.004s
sys 0m0.004s




