Re: "Copy from" omit source columns?

From: Richard Broersma Jr <rabroersma(at)yahoo(dot)com>
To: Steve Midgley <public(at)misuse(dot)org>, pgsql-sql(at)postgresql(dot)org
Subject: Re: "Copy from" omit source columns?
Date: 2006-11-21 22:38:43
Message-ID: 737014.20604.qm@web31801.mail.mud.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

> (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..

I am not to familiar with using copy, so I do not know the eligant solution that you are looking
for. But the brute-force method would be to:

1) push all your data into a temp table
2) validate it
3) push the data of enterest into the destination table.

Regards,

Richard Broersma Jr.

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Aaron Bono 2006-11-21 23:42:15 Re: "Copy from" omit source columns?
Previous Message Steve Midgley 2006-11-21 19:13:26 "Copy from" omit source columns?