Search Postgresql Archives

Re: insert only unique values in to a table, ignore rest?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Jeremy Haile wrote:
>> Note that things will go faster if you do your initial data load using
>> "copy from stdin" for the initial bulk data load.  individual inserts in
>> postgresql are quite costly compared to mysql.  It's the transactional
>> overhead.  by grouping them together you can make things much faster. 
>> copy from stdin does all the inserts in one big transaction.  
> 
> You could do "copy from file" as well right?  (no performance difference
> compared to "copy from stdin")  I do this all the time.
> 
> Also - maybe I misunderstand something, but why does PostgreSQL's
> implementation prohibit it from ignoring insert errors during a copy? 
> If you added a unique constraint to the table before copying, PostgreSQL
> would generate errors due to the unique constraint violation - so I
> don't think any additional locking would be required for it to simply
> say "If there is an error while copying in, ignore it and continue
> inserting other rows"  
> 
> PostgreSQL's copy command doesn't currently support this, so the temp
> table followed by a distinct select is the way to go.  But I didn't
> follow all of the talk about it requiring locking the table and being
> inherently impossible for PostgreSQL to support.
> 
> I've wanted a similar feature.  I select rows into a table on a regular
> basis.  I'd like to be able to overlap old values and have PostgreSQL
> ignore failed inserts.  SQL Server offers a flag that allows you to
> ignore inserts whose primary key already exists in the table.  The only
> solution in PostgreSQL is to run a query to manually delete the
> duplicate rows from a temp table before inserting - which takes much
> more time.
> 

I would also like this feature... :) (obviously)

I also didn't exactly follow the locking, I don't need it as far as I know.

- George


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux