Monday, January 3, 2011

Postgres - nonstandard use of \\ in a string error

If you see

WARNING: nonstandard use of \\ in a string literal
HINT: Use the escape string syntax for backslashes, e.g., E'\\'.

Changing all '\\' to E'\\' is a good solution.

However, it will be very tedious if you have a bunch of data. Worst case is when this happen to \n in Linux machine.

A faster fix will be as follow

1. Open postgresql.conf
2. Find #standard_conforming_strings=off. By default, it is commented out by # and set to off
3. Change it to standard_conforming_strings=on
4. Restart postgres

This will cause postgres to treat backslashes as normal character.

If you want postgres to treat backslashes as escape character after turning stardard_conforming_string to on, you must put an E in front. IE, E'this is \\n a string'

No comments:

Post a Comment

Sed - Example guide

sed is a very useful stream editor to perform search and replace. Below are some useful tip 1. Usage sed 's/apple/orange/' file...