Re: "Copy from" omit source columns? - Mailing list pgsql-sql

From Aaron Bono
Subject Re: "Copy from" omit source columns?
Date
Msg-id bf05e51c0611211542i22c80681n4513ff2fd6fd5412@mail.gmail.com
Whole thread Raw
In response to "Copy from" omit source columns?  (Steve Midgley <public@misuse.org>)
List pgsql-sql
On 11/21/06, Steve Midgley <public@misuse.org> wrote:
Hello,

(I already fear the answer to my question is "no..") :)

I am using the 'COPY FROM' SQL command (not psql \copy) to move data
into a table from a CSV file. The source data are suitable for import
EXCEPT there are extraneous columns of data in the source file. In
essence, my table schema is:

id, col1, col2, col4

My source file schema is:

col1,col2,col3,col4

I'm curious if there is any way to tell "COPY" to ignore the third
column of data? Basically I'd like to write something along the lines
of:

copy import (col1,col2,\n,col4)
from 'c:/dev/import/source/test.csv'
with CSV HEADER

Note "\n" would indicate there there is a column in the source that
should simply be ignored during the import. Of course, I tried this
syntax and it didn't work. Perhaps there is another way of indicating
that there is a "null column" in the source file that should be skipped
during import?

Any assistance in solving this problem (without having to change the
source file) would be greatly appreciated. If I have to change the
source file, I will, but it would greatly simplify things if I didn't
have to..

Best regards and thanks for any ideas,

If you are using Linux/Unix or a Mac, you could run the file through sed first and remove the unwanted column:

cat original.csv | sed 's/^\(.*\),\(.*\),\(.*\),\(.*\)$/\1,\2,\4/' > new.csv

Of course if you have commas in the data you will have to play with the sed command a little but this will get you started.

--
==================================================================
   Aaron Bono
   Aranya Software Technologies, Inc.
   http://www.aranya.com
   http://codeelixir.com
==================================================================

pgsql-sql by date:

Previous
From: Richard Broersma Jr
Date:
Subject: Re: "Copy from" omit source columns?
Next
From: Mulham freshcode
Date:
Subject: select into