Re: How to generate unique hash-type id?

From: hubert depesz lubaczewski <depesz(at)depesz(dot)com>
To: Joe Kramer <cckramer(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: How to generate unique hash-type id?
Date: 2010-01-29 11:50:39
Message-ID: 20100129115039.GA10982@depesz.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Fri, Jan 29, 2010 at 07:20:33PM +1100, Joe Kramer wrote:
> I need to generate unique id which is not guessable unlike
> serial(integer) type. I need an id in format like md5 hash of random
> number.

check this blogpost:
http://www.depesz.com/index.php/2007/06/25/random-text-record-identifiers/

> On top of that I need this id to be unique across multiple tables.

just add table id to the generated id.

for example: id "xxx" in table users, is globally unique (for your
database) when you write it: "users:xxx"

if, for some weird reason, you don't want to put table name on its own
in your key (why?) then just use some dictionary table, that will link
those keys with your table.

Best regards,

depesz

--
Linkedin: http://www.linkedin.com/in/depesz / blog: http://www.depesz.com/
jid/gtalk: depesz(at)depesz(dot)com / aim:depeszhdl / skype:depesz_hdl / gg:6749007

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Joe Kramer 2010-01-29 11:51:20 Re: How to generate unique hash-type id?
Previous Message Alban Hertroys 2010-01-29 11:47:10 Re: Problem after installing triggering function