Re: How to Log SELECT Statements Having Errors

From: "Lane Van Ingen" <lvaningen(at)esncc(dot)com>
To: "Magnus Hagander" <mha(at)sollentuna(dot)net>, <pgsql-sql(at)postgresql(dot)org>
Subject: Re: How to Log SELECT Statements Having Errors
Date: 2005-11-15 14:53:29
Message-ID: EKEMKEFLOMKDDLIALABIIEAPCFAA.lvaningen@esncc.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Many thanks for your helpful suggestions ....

To answer your question about 'log_statement' not appearing to handle SELECT
statements: could be a documentation omission. I got that from version 8.0.1
documentation PDF, p 268, section 16.4.6.3 where 'log_statement(string)' is
discussed:

http://www.postgresql.org/docs/8.0/static/runtime-config.html#RUNTIME-CONFIG
-LOGGING

-----Original Message-----
From: Magnus Hagander [mailto:mha(at)sollentuna(dot)net]
Sent: Tuesday, November 15, 2005 3:53 AM
To: Lane Van Ingen; pgsql-sql(at)postgresql(dot)org
Subject: RE: [SQL] How to Log SELECT Statements Having Errors

> We are putting a new application on PostgreSQL 8.0.1 (Windows
> 2003); we are coming off of MySQL, and are having a hard time
> finding all of the offending SQL calls.
>
> It would help a great deal if I could log the content of any
> SQL calls that fail. Am only interested in SELECT statements.
>
> Noticed the following:
> (1) The PostgreSQL manual says that config parm 'log_statement' does
> not appear to handle SELECT statements; true?

No. Where did you get that from, perhaps the manual needs to be clearer?

The place to look is:
http://www.postgresql.org/docs/8.1/static/runtime-config-logging.html#RU
NTIME-CONFIG-LOGGING-WHAT

set log_statement to 'all' and it will log everything, including
SELECTs.

But this will include statements that succeed as well, not just those
who fails.

> (2) Noticed that config parm 'log_min_error_statement' might
> do it, but
> not sure what each of the DEBUG* and other parameters
> will buy me vs ERROR. I want any statement issued by a client
> that cannot be executed due to an SQL error of any kind.

Yes, if you want to log only queries that fail, log_min_error_statement
is the correct switch to use.

If you set it to ERROR, you will get a log of every statement that
causes an ERROR or FATAL.
If you set it to WARNING, you will get a log of every statement that
acuses WARNING, ERROR or FATAL.
etc etc for the other values.

In this case, you'll want ERROR or possibly WARNING.

//Magnus

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Stephan Fischer 2005-11-15 16:21:26 [postgres] pgcluster
Previous Message Oliver Elphick 2005-11-15 12:01:58 Re: [SQL] pg_dump