Thread: nonstandard use of
I recently installed the latest non-beta version 8.2 of postgresql.
I get the following warning and hint in the server status GUI:
WARNING: nonstandard use of \\ in a string literal at characters 64
HINT: Use the excape string syntax for backslashes, e.g, E’\\’.
The “raw” string I want to write is:
[\x09-\x0A\x0D\x20-\x2F\x3A-\x40\x5B-\x60\x7B-\x7E]MI[\x09-\x0A\x0D\x20-\x2F\x3A-\x40\x5B-\x60\x7B-\x7E]
After escaping, I write: _ 64th
/
[\\x09-\\x0A\\x0D\\x20-\\x2F\\x3A-\\x40\\x5B-\\x60\\x7B-\\x7E]MI[\\x09-\\x0A\\x0D\\x20-\\x2F\\x3A-\\x40\\x5B-\\x60\\x7B-\\x7E]
Assuming the count starts at 0, the character at position 64 is the [ character.
I’ve read an earlier post that tells of how to SUPRESS the warning. I want to eliminate the warning.
TIA
Marty Peckham
Note: The information contained in this message may be privileged and confidential and thus protected from disclosure. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to the message and deleting it from your computer. Thank you.
Martin Peckham wrote: > I recently installed the latest non-beta version 8.2 of postgresql. > > I get the following warning and hint in the server status GUI: > > WARNING: nonstandard use of \\ in a string literal at characters 64 > HINT: Use the excape string syntax for backslashes, e.g, E'\\'. > > The "raw" string I want to write is: > > [\x09-\x0A\x0D\x20-\x2F\x3A-\x40\x5B-\x60\x7B-\x7E]MI[\x09-\x0 > A\x0D\x20-\x2F\x3A-\x40\x5B-\x60\x7B-\x7E] > > After escaping, I write: > > [\\x09-\\x0A\\x0D\\x20-\\x2F\\x3A-\\x40\\x5B-\\x60\\x7B-\\x7E] > MI[\\x09-\\x0A\\x0D\\x20-\\x2F\\x3A-\\x40\\x5B-\\x60\\x7B-\\x7E] > > Assuming the count starts at 0, the character at position 64 > is the [ character. > > I've read an earlier post that tells of how to SUPRESS the > warning. I want to eliminate the warning. I reckon that "64" refers to the position of the string in the SQL statement, i.e. the string starts at that position in the statement. Is that possible? To get rid of the warning, you can either: - *not* double the backslashes and set standard_conforming_strings to "on". - prepend each string literal with an E as the warning suggests. - set escape_string_warning to "off". The first solution is the best, the last the worst. Yours, Laurenz Albe