Re: vacuum and serial primary keys

From: "D'Arcy J(dot)M(dot) Cain" <darcy(at)druid(dot)net>
To: Carmen Marincu <marincuc(at)eeng(dot)dcu(dot)ie>, pgsql-sql(at)postgresql(dot)org
Subject: Re: vacuum and serial primary keys
Date: 2003-02-01 14:16:08
Message-ID: 200302010916.08465.darcy@druid.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

On Saturday 01 February 2003 07:45, Carmen Marincu wrote:
> I am using Postgresql 7.1.3 and I have deleted 3000 rows from a table
> (with DELETE).
> Than I used vacuum <mytable> to actually delete the rows markes as deleted
> by the DELETE command..
> The trouble is that the "counter" for the serial primary key (ID field)
> wasn't reset. So now althought I have only 2 rows in my table they have
> the ID 3001 and 3002.
>
> Is this normal ? If not could someone please explain me how could I reset
> the "counter" to ignore the deleted rows ?

It is very normal. The last thing you need is a database engine that changes
your primary key without an explicit command to do so. In fact, sometimes I
think that the database should enforce the rule that primary keys are
immutable and not even allow it explicitely. Perhaps a configuration option.

--
D'Arcy J.M. Cain <darcy(at){druid|vex}.net> | Democracy is three wolves
http://www.druid.net/darcy/ | and a sheep voting on
+1 416 425 1212 (DoD#0082) (eNTP) | what's for dinner.

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Bruno Wolff III 2003-02-01 14:54:12 Re: update and IN vs. EXISTS
Previous Message pginfo 2003-02-01 13:49:46 Re: update and IN vs. EXISTS