Re: Escaping single quotes with backslash seems not to work - Mailing list pgsql-general

From Ron Johnson
Subject Re: Escaping single quotes with backslash seems not to work
Date
Msg-id CANzqJaDTY0AEB2zxumCbDtZu_pVxcjWpf5FdSeGwShLM3SfVzg@mail.gmail.com
Whole thread Raw
In response to Re: Escaping single quotes with backslash seems not to work  ("David G. Johnston" <david.g.johnston@gmail.com>)
Responses Re: Escaping single quotes with backslash seems not to work
List pgsql-general
On Mon, Jun 10, 2024 at 10:56 AM David G. Johnston <david.g.johnston@gmail.com> wrote:
On Monday, June 10, 2024, Ron Johnson <ronljohnsonjr@gmail.com> wrote:
On Mon, Jun 10, 2024 at 10:08 AM David G. Johnston <david.g.johnston@gmail.com> wrote:
On Mon, Jun 10, 2024 at 7:02 AM Ron Johnson <ronljohnsonjr@gmail.com> wrote:
PG 9.6 and PG 14

[quote]
Any other character following a backslash is taken literally. Thus, to include a backslash character, write two backslashes (\\). Also, a single quote can be included in an escape string by writing \', in addition to the normal way of ''.
[/quote]


The link you provided goes to the wrong subsection.  The following subsection, which discusses, String Constants With C-Style Escapes, requires that you write the literal as E'abc\'def'

Note the E prefix on the literal, which is the thing that enables considering backslash as an escape.
 
This hasn't changed from 9.6, has it?

A Java app that uses backslash escapes broke this morning on fields with single quotes, after the weekend migration from PG 9.6.24 to 14.12, and I don't know why.  I'm not a Java programmer, though.


As the caution on that page says the default for standard conforming strings changed in 9.1. But maybe your 9.6 had the old value configured but when you upgraded to 14 you decided to go with the new default.

That was the first thing I checked... It's the same on both the 9.6 and 14 systems:. 

TAP=# show standard_conforming_strings;
 standard_conforming_strings
-----------------------------
 on
(1 row)

TAP=#
TAP=# show backslash_quote;
 backslash_quote
-----------------
 safe_encoding
(1 row)

 

pgsql-general by date:

Previous
From: "David G. Johnston"
Date:
Subject: Re: Escaping single quotes with backslash seems not to work
Next
From: Tom Lane
Date:
Subject: Re: Escaping single quotes with backslash seems not to work