From: | "Fernando Hevia" <fhevia(at)ip-tel(dot)com(dot)ar> |
---|---|
To: | 'Sebastián Villalba' <sebastian(at)fcm(dot)unc(dot)edu(dot)ar>, "'Lista Ayuda Pgsql'" <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | RE: [pgsql-es-ayuda] Identificador único con md5() |
Date: | 2010-02-24 20:17:20 |
Message-ID: | 405495027717453C8C08E26564346A94@iptel.com.ar |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
> -----Mensaje original-----
> De: Sebastián Villalba
>
> Hola a todos. Estoy intentando generar un identificador único
> y se me ocurrió utilizar md5() combinado con
> "CURRENT_TIMESTAMP" (o now()).
>
> En Postgres 8.2 anda perfecto:
>
> postgres=# SELECT upper(substring(md5(CURRENT_TIME::time)from
> 7 for 7))AS mi_identificador ; mi_identificador
> ------------------
> CC8670A
> (1 fila)
>
> postgres=# SELECT upper(substring(md5(CURRENT_TIME::time)from
> 7 for 7))AS mi_identificador ; mi_identificador
> ------------------
> 9514C4D
> (1 fila)
>
> Pero en 8.4:
>
> postgres=# SELECT upper(substring(md5(CURRENT_TIME::time)from
> 7 for 7))AS mi_identificador ;
> ERROR: no existe la función md5(time without time zone)
> LÍNEA 1: SELECT upper(substring(md5(CURRENT_TIME::time)from 7
> for 7))...
> ^
> SUGERENCIA: Ninguna función coincide en el nombre y tipos de
> argumentos.
> Puede desear agregar conversión explícita de tipos.
>
> ¿Hay forma para que el md5 tome como entrada la salida del
> CURRENT_TIME como lo hacía en la versión 8.2?
>
> Muchas gracias y un gran saludo a todos!
>
De ninguna manera podés garantizar que ese mecanismo te de identificadores
únicos.
¿Porqué no usas un serial?
From | Date | Subject | |
---|---|---|---|
Next Message | Cesar Erices | 2010-02-24 20:27:39 | Re: Lanzamiento de access2pgsql 1.0.1 |
Previous Message | Alvaro Herrera | 2010-02-24 20:06:45 | Re: B-Tree o HASH |