debug nonstandard use of \\ in a string literal

Started by Ivan Zolotukhinabout 18 years ago3 messagesgeneral
Jump to latest
#1Ivan Zolotukhin
ivan.zolotukhin@gmail.com

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

#2Laurenz Albe
laurenz.albe@cybertec.at
In reply to: Ivan Zolotukhin (#1)
Re: debug nonstandard use of \\ in a string literal

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

#3Ivan Zolotukhin
ivan.zolotukhin@gmail.com
In reply to: Laurenz Albe (#2)
Re: debug nonstandard use of \\ in a string literal

Thanks guys, this simple solution worked. Why didn't I guess before?..

Show quoted text

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