On Thu, Nov 17, 2011 at 11:46 AM, Tomas Vondra <t...@fuzzy.cz> wrote:

> On 17 Listopad 2011, 17:32, hubert depesz lubaczewski wrote:
> > On Thu, Nov 17, 2011 at 09:29:11AM -0700, J.V. wrote:
> >> I am in need of a tool or method to see each/every SQL query that
> >> hits the PostgreSQL database.  By query I mean the query in SQL
> >> syntax with all the parameters passed.
> >>
> >> What I want to do is:
> >>     1) see the query
> >>     2) Determine how long the query takes to execute
> >>     3) Possibly log both of the above to a log file
> >>
> >> Is there any tool internal to PostgreSQL that would allow me to do this?
> >>
> >> I cannot monitor it from the code that is actually connecting &
> >> sending the query.
> >>
> >> any help or pointers would be greatly appreciated.
> >
> > just enable logging of queries.
>
> As depesz mentioned, there's a log_min_duration GUC, that allows you to
> log queries that exceed some time interval. If you want to log all
> queries, you may set this to 0 but it may easily fill your log with
> garbage.
>

Just as a warning, on heavily-loaded systems, this logging can have a
significant impact to your performance.  Not so much because it's logging,
but due to the fact that your log-files may start requiring more disk I/O
than the actual database.  If you are going to do this under any serious
load, I would recommend separating 'pg_log' on to a separate [set of]
physical disk[s].

--Scott

>
> There are two contrib modules that might help you - pg_stat_statements and
> auto_explain. The former one is probably more interesting in this case.
>
> Tomas
>
>
> --
> Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
>

Reply via email to