Abhijit Menon-Sen <ams@oryx.com> writes:
> The server logs "WARNING: nonstandard use of \\ in a string literal at
> character 44", but the message comes with sqlstate code 22P06, which is
> in an error class ("Data exception"). So my application thinks it's an
> error, and is unhappy.
If you are trying to tell errors from warnings, why are you not looking
first at PQresultStatus (or equivalent in other client APIs)?
I think reassigning the message to another sqlstate will break more
clients than it fixes. It's not the only problematic case either, eg
ereport(NOTICE, (errcode(ERRCODE_NAME_TOO_LONG), errmsg("identifier
\"%s\"will be truncated to \"%.*s\"", ident, len, ident)));
regards, tom lane