Re: timestamp as primary key?
От
AgentM
Тема
Re: timestamp as primary key?
Дата
Msg-id
6EA95CE0-6535-425B-842C-8568DF5FEFFD@themactionfaction.com
Ответ на
Re: timestamp as primary key? (John D. Burger)
Список
Дерево обсуждения
timestamp as primary key? "Joe Kramer" <cckramer@gmail.com>
Re: timestamp as primary key? Tomasz Ostrowski <tometzky@batory.org.pl>
Re: timestamp as primary key? "John D. Burger" <john@mitre.org>
Re: timestamp as primary key? AgentM <agentm@themactionfaction.com>
Re: timestamp as primary key? "Jim C. Nasby" <jim@nasby.net>
Re: timestamp as primary key? Richard Huxton <dev@archonet.com>
On Oct 19, 2006, at 10:30 , John D. Burger wrote: > 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. Only if each message is contained in its own transaction since now() is effectively a constant throughout a transaction. In this case, I would choose a surrogate key since it is likely that the table will be referenced. -M
В списке pgsql-general по дате отправления