On Wed, 2012-02-01 at 12:08 +0530, Siva Palanisamy wrote:
> Hi there!
> 
> I'm inserting bulk records using COPY statement in PostgreSQL, and is 
> successful. When I try to insert a record later manually, it throws duplicate 
> sequence id error. What I realize is, the sequence ids are not getting 
> updated in its cache. Should I manually update the sequence number to get the 
> number of records after performing COPY? Isn't there a solution while 
> performing COPY, just increment the sequence variable, that is, the primary 
> key field of the table?
> 
> For instance, if I insert 200 records, COPY does good and my table shows all 
> the records. When I manually insert a record later, it says duplicate 
> sequence id error. It very well implies that it didn't increment the sequence 
> ids during COPYing as work fine during normal INSERTing. Instead of 
> instructing the sequence id to set the max number of records, won't there be 
> any mechanism to educate the COPY command to increment the sequence ids 
> during its bulk COPYing option?
> 
> Please clarify me on this. Thanks in advance!
> 

You usually need to use DEFAULT for the column, so that the sequence is
auto-incremented.

If you don't use DEFAULT, you need to set yourself the value of the
sequence.

PS: this isn't specific to COPY. INSERT behaves the same.


-- 
Guillaume
http://blog.guillaume.lelarge.info
http://www.dalibo.com
PostgreSQL Sessions #3: http://www.postgresql-sessions.org


-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to