Thread: Statement duration reporting

Statement duration reporting

From
"Erik G. Burrows"
Date:
Hello All,
I'm running PostgreSQL 7.4.7 (Debian package 7.4.7-6sarge1) on an AMD
Opteron system wth Debian 3.1.

In analyzing performance for this database, by logging statements with
duration timing, I have many statements that are taking far longer to
run than they should. For example, inserts into a 400MB table with three
indexes and no triggers that take up to 70ms.

When I execute the exact same statement in psql (rather than the web
application, which is written in PHP on a separate machine, but on the
same network), the statement takes the expected 1ms, reported both with
the \timing psql command, and in the serverlog.

So, my question is: What does the duration time in the serverlog
reflect? Is it just the time the server took to execute the statement,
or does it reflect also query receive and response transmit time?

Any other ideas as to why I'm seeing these odd and contradictory times?

Thanks,
  Erik G. Burrows



Re: Statement duration reporting

From
Tom Lane
Date:
"Erik G. Burrows" <erik@erikburrows.com> writes:
> So, my question is: What does the duration time in the serverlog
> reflect? Is it just the time the server took to execute the statement,
> or does it reflect also query receive and response transmit time?

The former.  The server has no way to measure transit times.

> Any other ideas as to why I'm seeing these odd and contradictory times?

There's a current thread in the pgsql-odbc list about similar issues
seen with ODBC.  I doubt its the same problem, because it's different
client software on a different OS, but maybe it'd be worth comparing
notes.

            regards, tom lane