Re: Gripe: bytea_output default => data corruption

From: ljb <ljb9832(at)pobox(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: Gripe: bytea_output default => data corruption
Date: 2010-10-22 22:06:07
Message-ID: i9t1sf$2vvn$1@news.hub.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-docs pgsql-general

vivek(at)khera(dot)org wrote:
>...
> I had some hoops thru which I had to jump to make our app compatible with
> both 8.x and 9.x so we could safely migrate our servers without having to
> coordinate a code push. It wasn't that bad, but part of the problem is that
> the DBD::Pg driver does not understand the new format... but it does
> unescape the "\x" marker for me to a simple "x", since that follows the
> traditional un-escaping rules for values returned from Pg. I don't like
> overriding defaults in the DB settings unless I *really* have to.

Although DBD::Pg uses libpq, linking it with the PostgreSQL-9.0 libpq
doesn't fix the escape/unescape problem. (I'm sure you already know this.)
That's because DBD::Pg implements its own string and bytea escape and
unescape functions, for some reason, and does not use PQescapeStringConn
etc. (I wonder if that makes it vulnerable to the security problems fixed
8.1.4?)

I probably would have just gone ahead and deployed 9.0 servers with
"bytea_output='escape'" in their postgresql.conf files. Permanent work-around.

In response to

Browse pgsql-docs by date

  From Date Subject
Next Message Tom Lane 2010-10-25 23:18:49 Re: [GENERAL] Gripe: bytea_output default => data corruption
Previous Message Vick Khera 2010-10-22 16:19:33 Re: Gripe: bytea_output default => data corruption

Browse pgsql-general by date

  From Date Subject
Next Message karsten vennemann 2010-10-22 22:29:48 Re: auto fill serial id field with default value in copy operation
Previous Message Tim Uckun 2010-10-22 22:03:32 Re: Updates, deletes and inserts are very slow. What can I do make them bearable?