Thread: BUG #7505: Backslash escaping not necessary

BUG #7505: Backslash escaping not necessary

From
ovadyaj@gmail.com
Date:
The following bug has been logged on the website:

Bug reference:      7505
Logged by:          Jeff Ovadya
Email address:      ovadyaj@gmail.com
PostgreSQL version: 9.1.4
Operating system:   PostgreSQL 9.1.4, compiled by Visual C++ build 150
Description:        =


INSERT INTO customer VALUES ( 20, 'Mr', 'Jeff', 'Baggott', 'Midtown Street
A\\33', 'Milltown', 'MT9 8NQ', '746 3956'); results in two backslashes
instead of a single one. =


Inserting the address with a single backslash succeeds in saving the
backslash with the address.

Also noticed similar issue escaping single quotes: Backslash will not work
to escape, but doubling up the quotes works.

Re: BUG #7505: Backslash escaping not necessary

From
Thomas Kellerer
Date:
ovadyaj@gmail.com wrote on 24.08.2012 21:59:
> The following bug has been logged on the website:
>
> Bug reference:      7505
> Logged by:          Jeff Ovadya
> Email address:      ovadyaj@gmail.com
> PostgreSQL version: 9.1.4
> Operating system:   PostgreSQL 9.1.4, compiled by Visual C++ build 150
> Description:
>
> Also noticed similar issue escaping single quotes: Backslash will not work
> to escape, but doubling up the quotes works.

Which is the correct behaviour and conforms to the SQL standard (and nearly all other DBMS behave the same way)

But if you want to use the backslash to escape single quotes check out the parameter
"standard_conforming_strings" which controls this behaviour:

http://www.postgresql.org/docs/9.1/static/runtime-config-compatible.html#GUC-STANDARD-CONFORMING-STRINGS