| From: | brian <brian(at)zijn-digital(dot)com> |
|---|---|
| To: | pgsql-general(at)postgresql(dot)org |
| Subject: | Re: copy with escape |
| Date: | 2008-02-26 03:25:39 |
| Message-ID: | 47C386B3.1060104@zijn-digital.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | 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
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Colin Wetherbee | 2008-02-26 03:56:45 | Deploying PostgreSQL on virtualized hardware |
| Previous Message | Tom Lane | 2008-02-26 03:07:13 | Re: copy with escape |