Auto-increment not really working - Mailing list pgsql-general

From fixed
Subject Auto-increment not really working
Date
Msg-id Pine.LNX.4.56.0307292025250.2426@waste.org
Whole thread Raw
Responses Re: Auto-increment not really working
List pgsql-general
Hi,

I am a bit puzzed about Postgres' auto-incrementing.

Supposing I have the following table:

CREATE TABLE foo (
  id serial primary key,
  name varchar(20));

Then, I can do the following:

INSERT INTO foo VALUES ('Test');
INSERT INTO foo VALUES ('Test 2');
...

The id for each name inserted should be 1, 2, 3, and so on.

This works for me on small tables. However, earlier, I tried to insert
about 9000 records through a Perl script and Postgres kept complaining:

Cannot insert a duplicate key into unique index schedule_pkey

And therefore Postgres didn't insert all the values.

After searching around I fixed this by:

INSERT INTO foo VALUES (nextval('schedule_id_key'),'Name');

This fixed the problem.

Why does this happen on large tables? I am nervous now because I have used
the insert calls without a nextval for small tables and things worked
fine, but now I am worried....

Is there any other method for this?

Thank you

Ogden Nefix

pgsql-general by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Using YY-MM-DD date input
Next
From:
Date:
Subject: Re: Does the block of code in a stored procedure execute as a transaction?