Byte Escape Syntax
Hi,
Is Postgres's byte escape syntax something that could be set by the client?
I am running into a strange problem when I access postgres try two
different Ruby ORM's. I am guessing that one of them is doing
something funny to the client connections.
Looking at the Ruby C-driver, it's calling PQescapeBytea rather then
PQescapeByteaConn. And tracing PQescapeBytea, sometimes it escapes '\'
as '\\', as describe in the manual, sometimes it doesn't do that
escape. But it always escape the single quote character ' . All the
connections are using UTF-8 encoding.
I wrote my own byte escaping function in Ruby, which does escaping
according to the 8.4 manual, but again it works for some connections,
but not others.
Howard
Howard Yeh <hayeah@gmail.com> writes:
Is Postgres's byte escape syntax something that could be set by the client?
Well, indirectly --- it's affected by the standard_conforming_strings
setting.
I am running into a strange problem when I access postgres try two
different Ruby ORM's. I am guessing that one of them is doing
something funny to the client connections.
Looking at the Ruby C-driver, it's calling PQescapeBytea rather then
PQescapeByteaConn. And tracing PQescapeBytea, sometimes it escapes '\'
as '\\', as describe in the manual, sometimes it doesn't do that
escape. But it always escape the single quote character ' . All the
connections are using UTF-8 encoding.
It would be a real good idea to fix that driver to use PQescapeByteaConn.
There are no supported releases of Postgres that don't have that
function.
regards, tom lane
On Thu, Apr 15, 2010 at 10:45 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Howard Yeh <hayeah@gmail.com> writes:
Is Postgres's byte escape syntax something that could be set by the client?
Well, indirectly --- it's affected by the standard_conforming_strings
setting.
is this something that could be set at runtime? Does it apply to the
whole database server?
Thanks!
Show quoted text
I am running into a strange problem when I access postgres try two
different Ruby ORM's. I am guessing that one of them is doing
something funny to the client connections.Looking at the Ruby C-driver, it's calling PQescapeBytea rather then
PQescapeByteaConn. And tracing PQescapeBytea, sometimes it escapes '\'
as '\\', as describe in the manual, sometimes it doesn't do that
escape. But it always escape the single quote character ' . All the
connections are using UTF-8 encoding.It would be a real good idea to fix that driver to use PQescapeByteaConn.
There are no supported releases of Postgres that don't have that
function.regards, tom lane