Skip site navigation (1) Skip section navigation (2)

=?ISO-8859-1?Q?Identificador_=FAnic?=o con md5()

From: Sebastián Villalba <sebastian(at)fcm(dot)unc(dot)edu(dot)ar>
To: "Lista Ayuda Pgsql" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: =?ISO-8859-1?Q?Identificador_=FAnic?=o con md5()
Date: 2010-02-24 19:53:15
Message-ID: 20100224194542.M46446@fcm.unc.edu.ar (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
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!

-
-------------------------------------------
Sebastián Villalba
A. Gestión Informática
Facultad de Cs. Médicas
U.N.C. - Argentina
-------------------------------------------


Responses

pgsql-es-ayuda by date

Next:From: Alvaro HerreraDate: 2010-02-24 20:03:34
Subject: Re: Identi?==?iso-8859-1?Q?ficador único con md5()
Previous:From: Miguel Angel Hernandez MorenoDate: 2010-02-24 19:50:58
Subject: Re: B-Tree o HASH

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group