Thread: debug nonstandard use of \\ in a string literal

debug nonstandard use of \\ in a string literal

From
"Ivan Zolotukhin"
Date:
Hello,

From time to time I face with these well-known warnings in the
PostgreSQL log, i.e.

Feb 28 04:21:10 db7 postgres[31142]: [2-1] WARNING:  nonstandard use
of escape in a string literal at character 62
Feb 28 04:21:10 db7 postgres[31142]: [2-2] HINT:  Use the escape
string syntax for escapes, e.g., E'\r\n'.

This is fine, everybody knows about that and our PL/PgSQL developers
try to make use of escape syntax. But sometimes errors occur anyway
(by developers mistakes or something). So the question is: how to
debug these annoying messages when pretty big application causes them?
Is it possible to have a look what exact queries produced them?

--
Regards,
 Ivan

Re: debug nonstandard use of \\ in a string literal

From
"Albe Laurenz"
Date:
Ivan Zolotukhin wrote:
> From time to time I face with these well-known warnings in the
> PostgreSQL log, i.e.
> 
> Feb 28 04:21:10 db7 postgres[31142]: [2-1] WARNING:  nonstandard use
> of escape in a string literal at character 62
> Feb 28 04:21:10 db7 postgres[31142]: [2-2] HINT:  Use the escape
> string syntax for escapes, e.g., E'\r\n'.
> 
> This is fine, everybody knows about that and our PL/PgSQL developers
> try to make use of escape syntax. But sometimes errors occur anyway
> (by developers mistakes or something). So the question is: how to
> debug these annoying messages when pretty big application causes them?
> Is it possible to have a look what exact queries produced them?

All I can think of is to set

log_statement=all
log_min_error_statement=WARNING
log_min_messages=WARNING

which will cause all statements and warnings to be logged.

This might of course generate a lot of output...

Yours,
Laurenz Albe

Re: debug nonstandard use of \\ in a string literal

From
"Ivan Zolotukhin"
Date:
Thanks guys, this simple solution worked. Why didn't I guess before?..

On Thu, Feb 28, 2008 at 2:28 PM, Albe Laurenz <laurenz.albe@wien.gv.at> wrote:
>
> Ivan Zolotukhin wrote:
>  > From time to time I face with these well-known warnings in the
>  > PostgreSQL log, i.e.
>  >
>  > Feb 28 04:21:10 db7 postgres[31142]: [2-1] WARNING:  nonstandard use
>  > of escape in a string literal at character 62
>  > Feb 28 04:21:10 db7 postgres[31142]: [2-2] HINT:  Use the escape
>  > string syntax for escapes, e.g., E'\r\n'.
>  >
>  > This is fine, everybody knows about that and our PL/PgSQL developers
>  > try to make use of escape syntax. But sometimes errors occur anyway
>  > (by developers mistakes or something). So the question is: how to
>  > debug these annoying messages when pretty big application causes them?
>  > Is it possible to have a look what exact queries produced them?
>
>  All I can think of is to set
>
>  log_statement=all
>  log_min_error_statement=WARNING
>  log_min_messages=WARNING
>
>  which will cause all statements and warnings to be logged.
>
>  This might of course generate a lot of output...
>
>  Yours,
>  Laurenz Albe
>