Re: Backslashes in bytea values

From: "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
To: <pgsql-admin(at)postgresql(dot)org>, "Lewis Kapell" <lkapell(at)setonhome(dot)org>
Subject: Re: Backslashes in bytea values
Date: 2009-12-18 20:23:45
Message-ID: 4B2B9071020000250002D78A@gw.wicourts.gov
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Lewis Kapell <lkapell(at)setonhome(dot)org> wrote:

> My company is using Postgres 8.3.8. We have some tables with
> bytea columns that store file data such as the contents of PDF or
> RTF files.

Yeah, we do a lot of that, too.

> The escape_string_warning parameter is on, and inserting this kind
> of data causes the backslash warning to be generated, since the
> backslash character appears in the raw data of these types of
> files.

We turn that off.

> I have updated much of our code to use the E'' syntax in order to
> suppress these messages.

If you do that, you'd better be doing something to make sure you
have cured the problem the messages warned of; otherwise you're
going to have corrupted documents. Are you using prepared
statements and setting the values through those (recommended) or
escaping the backslashes, etc. yourself?

> I am trying to figure out what the repercussions would be if I
> were to turn on the standard_conforming_strings parameter.

With that on, absolutely all characters are taken as part of the
literal except for apostrophes. That makes it a bit easier to do
the escaping, and could result in a slight reduction in statement
size.

> None of our code actually uses a backslash to escape a double-
> quote, but I don't know how this would affect the bytea values
> which I discussed above. How are backslashes affected if they are
> actually part of the raw data?

If you're just throwing them inside a E'xxx' literal that you build
yourself, it sounds like you've currently got a problem. If you are
using parameters on prepared statements, it shouldn't matter much.

-Kevin

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Lewis Kapell 2009-12-18 20:33:45 Re: Backslashes in bytea values
Previous Message Kevin Grittner 2009-12-18 19:46:01 Re: Foreign keys with values of zero rather than null