Re: timestamp as primary key?

From: "John D(dot) Burger" <john(at)mitre(dot)org>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: timestamp as primary key?
Date: 2006-10-19 14:30:05
Message-ID: 02D2DC33-6383-46EF-BF53-4F64423DE2DB@mitre.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

cckramer wrote:

> I have table for online chat system that keep messages sent between
> users.

> Question: is it okay to use timestamp as primary key, or there is
> possibility of collision? (Meaning two processes may INSERT into table
> within same millisecond.) It is a web application.

tometzky wrote:

> If your insert fail you can always try again after some random short
> time.

But then the timestamp field does not accurately represent the actual
time of the event. If you really want a primary key, and you really
don't want to just use a sequence default, I would make the key a
composite:

PRIMARY KEY (user_id_from, user_id_to, message_time)

This should cut way down on the possibility of key collision.

- John D. Burger
MITRE

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Ray Stell 2006-10-19 14:35:11 Re: hardware failure - data recovery
Previous Message Richard Huxton 2006-10-19 14:24:13 Re: Overload after some minutes, please help!