inserting only new rows from csv file

From: Seb <spluque(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: inserting only new rows from csv file
Date: 2008-10-01 21:16:44
Message-ID: 87k5csf22r.fsf@patagonia.sebmags.homelinux.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi,

I've seen some approaches to this problem, but I suspect there are
better ways.

A csv file is produced nightly, with the same table structure as a table
in a PostgreSQL database. The file grows over time as new records are
added every day. However, the rows in the file may not be sorted the
same way every day.

I need to isolate the new rows and insert them into the database table.
Before I start writing a script to do this, I need to decide whether to
do the comparison between the database table and the csv file: a) within
the database, or b) COPY'ing the table to a file and then do the
comparison. I'm not very experienced with SQL, so am more comfortable
with the latter option using plain shell and awk. Which route is best?
If a), I'd appreciate some SQL code to do it. Thanks.

Cheers,

--
Seb

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Dennis Brakhane 2008-10-01 21:20:47 Re: Transactions within a function body
Previous Message Mike Christensen 2008-10-01 20:27:21 Re: Index question regarding numeric operators