From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
---|---|
To: | Sebastián Villalba <sebastian(at)fcm(dot)unc(dot)edu(dot)ar> |
Cc: | Fernando Hevia <fhevia(at)ip-tel(dot)com(dot)ar>, 'Lista Ayuda Pgsql' <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: RE: [pgsql-es-ayuda] Identificador único con md5() |
Date: | 2010-02-25 02:23:01 |
Message-ID: | 20100225022301.GK3790@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Sebastián Villalba escribió:
> On Wed, 24 Feb 2010 17:27:57 -0300, Alvaro Herrera wrote
> > Fernando Hevia escribió:
> >
> > > De ninguna manera podés garantizar que ese mecanismo te de identificadores
> > > únicos.
> > > ¿Porqué no usas un serial?
> >
> > Si quieres identificadores únicos que no sigan un orden correlativo
> > quizás te sirva esto:
> >
> > http://wiki.postgresql.org/wiki/Pseudo_encrypt
>
> Efectivamente necesito algo así, que no siga patrón correlativo o determinado.
> El único requisito es que la longitud debe ser de 7. Por un antojo el
> "substring(md5(CURRENT_TIME::time)from 7 for 7)" lo hago a partir de la
> séptima posición, porque se me ocurrió hacerlo así, pero sin contar con ningún
> fundamento teórico.
Supongo que lo que puedes hacer si te interesa asegurar unicidad es
convertir el número de la función de Verite en un string de 7
caracteres. Claro que tendrías que modificarla, porque con una cadena
de largo 7 en hex tienes a lo más 268.435.456 cadenas distintas (16^7),
pero la función de Verite retorna 2^32 valores distintos (4 mil millones
y fracción)
Lo otro que podrías hacer es usar 24 dígitos en vez de 16, con lo que
tienes espacio para 4500 millones de valores; cubrirías todo el espacio
de Verite y un poco más. Ahí el único trabajo que tendrías sería
inventar cómo mapear un número de 32 bits a un string ...
--
Alvaro Herrera Vendo parcela en Valdivia:
http://valdivia.vivastreet.cl/loteos-lotes+valdivia/parcela-en-cabo-blanco--valdivia/19288372
"Sallah, I said NO camels! That's FIVE camels; can't you count?"
(Indiana Jones)
From | Date | Subject | |
---|---|---|---|
Next Message | Silvio Quadri | 2010-02-25 10:10:45 | Re: problema arranque postgres y programa java |
Previous Message | Horacio Miranda | 2010-02-25 02:08:38 | Re: Problema de Concurrencia de usuarios |