Re: BUG #13736: pg_dump should use E'' quotes

From: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Felipe Gasper <felipe(at)felipegasper(dot)com>, "pgsql-bugs(at)postgresql(dot)org" <pgsql-bugs(at)postgresql(dot)org>
Subject: Re: BUG #13736: pg_dump should use E'' quotes
Date: 2015-10-26 21:55:34
Message-ID: CAKFQuwangrLOXh6XBGGp6R=iHDzj4ofHK_CJrfwE3csCMep+Nw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Mon, Oct 26, 2015 at 5:33 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:

> felipe(at)felipegasper(dot)com writes:
> > When dumping a DB whose name has a backslash in it, I get a warning like:
>
> > ------
> > pg_dump: WARNING: nonstandard use of \\ in a string literal
> > LINE 1: ...) AS description FROM pg_database WHERE datname = 'i have /
> ...
> > ^
> > HINT: Use the escape string syntax for backslashes, e.g., E'\\'.
> > ------
>
> It took me some time to reproduce that, but I eventually realized that
> you must have standard_conforming_strings turned off in your database
> settings.

​[...]
​

>
> Yes. For one thing, there would immediately be zero chance of loading
> view definitions produced by pg_dump into any other DBMS,

Ironic...​we cannot write a standard conforming string out because we are
concerned other databases will be unable to read it.

The OP is advised to set "escape_string_warning" to "off" if they also wish
to have "standard_conforming_strings" set to "off". The question then is
whether we should do so during restore regardless of whether the user has
done so.

David J.

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2015-10-26 22:05:43 Re: BUG #13736: pg_dump should use E'' quotes
Previous Message Tom Lane 2015-10-26 21:33:06 Re: BUG #13736: pg_dump should use E'' quotes