By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
464,835 Members | 1,091 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 464,835 IT Pros & Developers. It's quick & easy.

Copy and xml files

P: n/a
C G
Dear All,

I'm trying to insert an xml file into my database. I have a table with a
single text column. My intention is just to have the xml file take up one
row in the table.

I've tried the command

COPY t1 FROM '/tmp/file.xml';

but keep getting the error message

ERROR: extra data after last expected column
CONTEXT: COPY t1, line 32: " <cn type="integer"> 1 </cn>"

Thanks for any help

Colin

__________________________________________________ _______________
Sign-up for a FREE BT Broadband connection today!
http://www.msn.co.uk/specials/btbroadband
---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

Nov 22 '05 #1
Share this Question
Share on Google+
2 Replies

P: n/a
COPY works for whole tables, and can't append rows. You're going to have to
escape your linebreaks and tabs to use COPY ... As I recall, you can specify
your own custom column and row delimiters... You might consider creating some
type of primary key for the table. A "serial" column would work fine.

If you want to insert a single row into a table, you'll need to do it with an
insert statement. something like :

# psql your_database -c "insert into t1 (xml_column) values ('`cat
/tmp/file.xml | sed -e \"s/'/''/g\"`');"
HTH,

CG

--- C G <cs******@hotmail.com> wrote:
Dear All,

I'm trying to insert an xml file into my database. I have a table with a
single text column. My intention is just to have the xml file take up one
row in the table.

I've tried the command

COPY t1 FROM '/tmp/file.xml';

but keep getting the error message

ERROR: extra data after last expected column
CONTEXT: COPY t1, line 32: " <cn type="integer"> 1 </cn>"

Thanks for any help

Colin

__________________________________________________ _______________
Sign-up for a FREE BT Broadband connection today!
http://www.msn.co.uk/specials/btbroadband
---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free web site building tool. Try it!
http://webhosting.yahoo.com/ps/sb/

---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to ma*******@postgresql.org so that your
message can get through to the mailing list cleanly

Nov 22 '05 #2

P: n/a
Chris Gamache wrote:
COPY works for whole tables, and can't append rows. ...

Wrong!

I use copy regularly to add data to a table.
....snip...
--- C G <cs******@hotmail.com> wrote:

Dear All,

I'm trying to insert an xml file into my database. I have a table with a
single text column. My intention is just to have the xml file take up one
row in the table.

I've tried the command

COPY t1 FROM '/tmp/file.xml';

but keep getting the error message

ERROR: extra data after last expected column
CONTEXT: COPY t1, line 32: " <cn type="integer"> 1 </cn>"

Thanks for any help

Colin

If you are trying to import the whole file into one 'column' of a table, you will need to escape the "end of line" [carriage return/line feed] characters.

I believe this question has been asked many times, and the method of importing this type of data is in the archives.

Please check the archives.

---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

Nov 22 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.