Re: copy with escape - Mailing list pgsql-general

From brian
Subject Re: copy with escape
Date
Msg-id 47C386B3.1060104@zijn-digital.com
Whole thread Raw
In response to copy with escape  ("blackwater dev" <blackwaterdev@gmail.com>)
List pgsql-general

blackwater dev wrote:
> I have data that I'm running through pg_escape_sting in php and then adding
> to stdin for a copy command.  The problem is "O'reilly" is being changed to
> "O''Reilly" in the string and then in the db.  I saw with the copy command I
> can specify the escape but it isn't working for me.  Should this command fix
> this double 'single' quote issue when I put it in the db?  And what is the
> proper syntax?
>
> COPY mytable FROM stdin with escape
>
>


COPY mytable (...) FROM STDIN WITH CSV ESCAPE "'";

http://www.postgresql.org/docs/8.3/static/sql-copy.html

But CSV comes with a lot of baggage. You'd be far better off doing
tab-delimited, unquoted fields (if you have no tabs in your data).

COPY mytable (...) FROM STDIN;
...
\.

I can't remember precisely all of what pg_escape_string() does, but if
you need it for something else you could always do this afterward ;-)

implode("\t", str_replace("''", "'", $row))

b

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: copy with escape
Next
From: Colin Wetherbee
Date:
Subject: Deploying PostgreSQL on virtualized hardware