From: | Gavin Sherry <swm(at)linuxworld(dot)com(dot)au> |
---|---|
To: | Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> |
Cc: | Christopher Kings-Lynne <chriskl(at)familyhealth(dot)com(dot)au>, Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Proposed GUC Variable |
Date: | 2002-08-23 03:39:35 |
Message-ID: | Pine.LNX.4.21.0208231331180.5340-100000@linuxworld.com.au |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers pgsql-patches |
Hi all,
Quick hack while eating a sandwich.
template1=# select * frum;
ERROR: parser: parse error at or near "frum" at character 10
ERROR QUERY: select * frum;
Now, I did say quick hack. 'ERROR QUERY' isn't a new error level I just
strcat() it to buf_msg in elog() if debug_print_error_query is
true. Question: from Chris's request it doesn't sound like there is much
use writing this to the client. Does everyone else feel the same way?
If so, I'll patch it up and send off.
Gavin
On Thu, 22 Aug 2002, Bruce Momjian wrote:
>
> Someone asked for that recently, and the email is in my mailbox for
> consideration. I think it is a great idea, and we have
> debug_query_string that holds the current query. You could grab that
> from elog.c. Added to TODO:
>
> * Add GUC parameter to print queries that generate errors
>
> ---------------------------------------------------------------------------
>
> Christopher Kings-Lynne wrote:
> > Hi,
> >
> > My primary use of Postgres is as the backend database for a busy web site.
> > We have a cron job that just emails us the tail of our database, php, apache
> > logs every night. That way we can see some problems.
> >
> > These logs almost always contain some errors. For instance, this is what I
> > see at the moment:
> >
> > 2002-08-22 19:21:57 ERROR: pg_atoi: error in "334 - 18k": can't parse " -
> > 18k"
> >
> > Now there's plenty of places that accept numeric input in the site and
> > obviously there's a bug in some script somewhere that's not filtering the
> > input properly or something. However - the error message above is useless
> > to me!!!
> >
> > So, what I'd like to propose is a new GUC variable called
> > 'debug_print_query_on_error' or something. Instead of turning on
> > debug_print_query and having my logs totally spammed up with sql, this GUC
> > variable would only print the query if an actual ERROR occurred. This way I
> > could nail the error very quickly by simply finding the query in my
> > codebase.
> >
> > Is this possible? At the stage of processing where the elog(ERROR) occurs,
> > do we still have access to the original query string?
> >
> > Comments?
> >
> > Chris
> >
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 4: Don't 'kill -9' the postmaster
> >
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Neil Conway | 2002-08-23 03:42:01 | Re: My head is spinning |
Previous Message | Lamar Owen | 2002-08-23 03:32:34 | Re: My head is spinning |
From | Date | Subject | |
---|---|---|---|
Next Message | Neil Conway | 2002-08-23 03:58:12 | another NAMEDATALEN fix |
Previous Message | J. R. Nield | 2002-08-23 03:39:03 | Point in time recovery 20020822_01_pitr.patch |