copy works, \copy doesn't

Started by Paul Buderover 23 years ago2 messagesbugs
Jump to latest
#1Paul Buder
paulb@aracnet.com

It seems the psql \copy command doesn't work properly when dealing
with certain non-ascii characters (which ones I don't know). At any rate
I took some binary data and escaped it like so with perl.

$text=~s/\\/\\\\/g;
$text=~s/\n/\\\n/g;
$text=~s/\t/\\\t/g;

In other words I escaped escape characters, newlines and tabs.

I made a table like this
CREATE TABLE "testtable" (
"somenumber" integer DEFAULT '0' NOT NULL,
"sometext" text DEFAULT '' NOT NULL
);

I made my input file by printing out a asciified number, a tab,
the text above and a newline. This is the attached file.
In the event attached files get stripped by the mailing list it
is also at http://www.aracnet.com/~paulb/sample-data

When I do
copy testtable from '/home/paulb/sample-data';
it works fine.

When I do
\copy testtable from '/home/paulb/sample-data'
I get ERROR: copy: line 2, pg_atoi: error in "(binary gobbledygook)

Attachments:

sample-dataapplication/octet-stream; name=sample-dataDownload
#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Paul Buder (#1)
Re: copy works, \copy doesn't

Paul Buder <paulb@aracnet.com> writes:

I made my input file by printing out a asciified number, a tab,
the text above and a newline. This is the attached file.

The attached file is gobbledegook:

3653337 x�&j��b