Lists: | pgsql-es-ayuda |
---|
From: | Sergio Valdes Hurtado <svh(dot)pgsql(at)gmail(dot)com> |
---|---|
To: | Lista PostgreSql <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Creación de id |
Date: | 2010-06-24 16:58:47 |
Message-ID: | [email protected] |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
Estimados,
necesito crear una tabla que tenga un Id único e irrepetible y si bien
es cierto que podría usar el tipo de dato serial, quiero usar otro
distinto y que me genere identificadores como el siguiente:
3ED636BFBFCB4DD6ACA81DBC0C0BA6A2
¿Existe algún tipo de dato que se pueda usar o una función de
postgresql que genere datos de ese tipo?
Saludos,
From: | ๏̯͡๏ Guido Barosio <gbarosio(at)gmail(dot)com> |
---|---|
To: | Sergio Valdes Hurtado <svh(dot)pgsql(at)gmail(dot)com> |
Cc: | Lista PostgreSql <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: [pgsql-es-ayuda] Creación de id |
Date: | 2010-06-24 17:03:05 |
Message-ID: | [email protected] |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
Hola Sergio,
Que tal el producto de una funcion md5 en una columna unique?
# select md5(select now());
Saludos,
Guido
2010/6/24 Sergio Valdes Hurtado <svh(dot)pgsql(at)gmail(dot)com>:
> Estimados,
> necesito crear una tabla que tenga un Id único e irrepetible y si bien
> es cierto que podría usar el tipo de dato serial, quiero usar otro
> distinto y que me genere identificadores como el siguiente:
> 3ED636BFBFCB4DD6ACA81DBC0C0BA6A2
> ¿Existe algún tipo de dato que se pueda usar o una función de
> postgresql que genere datos de ese tipo?
>
> Saludos,
> -
> Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
> Para cambiar tu suscripción:
> http://www.postgresql.org/mailpref/pgsql-es-ayuda
>
From: | Sergio Valdes Hurtado <svh(dot)pgsql(at)gmail(dot)com> |
---|---|
To: | ๏̯͡๏ Guido Barosio <gbarosio(at)gmail(dot)com> |
Cc: | Lista PostgreSql <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: [pgsql-es-ayuda] Creación de id |
Date: | 2010-06-24 17:06:53 |
Message-ID: | [email protected] |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
¿Eso generará un id irrepetible?
Yo me refería al tipo de dato UUID
saludos,
El día 24 de junio de 2010 13:03, ๏̯͡๏ Guido Barosio
<gbarosio(at)gmail(dot)com> escribió:
> Hola Sergio,
>
> Que tal el producto de una funcion md5 en una columna unique?
>
> # select md5(select now());
>
> Saludos,
> Guido
>
> 2010/6/24 Sergio Valdes Hurtado <svh(dot)pgsql(at)gmail(dot)com>:
>> Estimados,
>> necesito crear una tabla que tenga un Id único e irrepetible y si bien
>> es cierto que podría usar el tipo de dato serial, quiero usar otro
>> distinto y que me genere identificadores como el siguiente:
>> 3ED636BFBFCB4DD6ACA81DBC0C0BA6A2
>> ¿Existe algún tipo de dato que se pueda usar o una función de
>> postgresql que genere datos de ese tipo?
>>
>> Saludos,
>> -
>> Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
>> Para cambiar tu suscripción:
>> http://www.postgresql.org/mailpref/pgsql-es-ayuda
>>
>
From: | ๏̯͡๏ Guido Barosio <gbarosio(at)gmail(dot)com> |
---|---|
To: | Sergio Valdes Hurtado <svh(dot)pgsql(at)gmail(dot)com> |
Cc: | Lista PostgreSql <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: [pgsql-es-ayuda] Creación de id |
Date: | 2010-06-24 17:18:34 |
Message-ID: | [email protected] |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
Dado el retorno de now() y como trabaja md5() yo creeria que en un
99,9999% estas ante un id unico e irrepetible.
Pasarle la salida de now() como parametro a un algoritmo md5 (
http://es.wikipedia.org/wiki/MD5 ).
Saludos,
Guido
2010/6/24 Sergio Valdes Hurtado <svh(dot)pgsql(at)gmail(dot)com>:
> ¿Eso generará un id irrepetible?
> Yo me refería al tipo de dato UUID
>
> saludos,
>
> El día 24 de junio de 2010 13:03, ๏̯͡๏ Guido Barosio
> <gbarosio(at)gmail(dot)com> escribió:
>> Hola Sergio,
>>
>> Que tal el producto de una funcion md5 en una columna unique?
>>
>> # select md5(select now());
>>
>> Saludos,
>> Guido
>>
>> 2010/6/24 Sergio Valdes Hurtado <svh(dot)pgsql(at)gmail(dot)com>:
>>> Estimados,
>>> necesito crear una tabla que tenga un Id único e irrepetible y si bien
>>> es cierto que podría usar el tipo de dato serial, quiero usar otro
>>> distinto y que me genere identificadores como el siguiente:
>>> 3ED636BFBFCB4DD6ACA81DBC0C0BA6A2
>>> ¿Existe algún tipo de dato que se pueda usar o una función de
>>> postgresql que genere datos de ese tipo?
>>>
>>> Saludos,
>>> -
>>> Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
>>> Para cambiar tu suscripción:
>>> http://www.postgresql.org/mailpref/pgsql-es-ayuda
>>>
>>
>
From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
---|---|
To: | Sergio Valdes Hurtado <svh(dot)pgsql(at)gmail(dot)com> |
Cc: | Lista PostgreSql <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Creación de id |
Date: | 2010-06-24 17:28:03 |
Message-ID: | [email protected] |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
Excerpts from Sergio Valdes Hurtado's message of jue jun 24 12:58:47 -0400 2010:
> Estimados,
> necesito crear una tabla que tenga un Id único e irrepetible y si bien
> es cierto que podría usar el tipo de dato serial, quiero usar otro
> distinto y que me genere identificadores como el siguiente:
> 3ED636BFBFCB4DD6ACA81DBC0C0BA6A2
> ¿Existe algún tipo de dato que se pueda usar o una función de
> postgresql que genere datos de ese tipo?
Quizás el módulo contrib/uuid-ossp te ayude a generar IDs. El tipo de
dato "uuid" viene integrado en Postgres.
--
Álvaro Herrera <alvherre(at)commandprompt(dot)com>
The PostgreSQL Company - Command Prompt, Inc.
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
From: | Silvio Quadri <silvioq(at)gmail(dot)com> |
---|---|
To: | ๏̯͡๏ Guido Barosio <gbarosio(at)gmail(dot)com> |
Cc: | Sergio Valdes Hurtado <svh(dot)pgsql(at)gmail(dot)com>, Lista PostgreSql <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Creación de id |
Date: | 2010-06-24 17:36:25 |
Message-ID: | [email protected] |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
El día 24 de junio de 2010 14:18, ๏̯͡๏ Guido Barosio
<gbarosio(at)gmail(dot)com> escribió:
> Dado el retorno de now() y como trabaja md5() yo creeria que en un
> 99,9999% estas ante un id unico e irrepetible.
>
> Pasarle la salida de now() como parametro a un algoritmo md5 (
> http://es.wikipedia.org/wiki/MD5 ).
>
> Saludos,
> Guido
Ojo. El now() dentro de una transacción devuelve siempre el mismo valor.
Silvio
From: | Sergio Valdes Hurtado <svh(dot)pgsql(at)gmail(dot)com> |
---|---|
To: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
Cc: | Lista PostgreSql <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: [pgsql-es-ayuda] Creación de id |
Date: | 2010-06-24 19:02:31 |
Message-ID: | [email protected] |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
Estoy siguiendo el consejo de alvaro y trato de instalar uuid-ossp, y
para ello ejecuto las query del contrib y me arrojan errores.
Adjunto una de las querys y el error:
CREATE OR REPLACE FUNCTION uuid_nil()
RETURNS uuid
AS '$libdir/uuid-ossp', 'uuid_nil'
IMMUTABLE STRICT LANGUAGE C;
[Error] Líneas de script: 1-4 ----------------------
ERROR: no se pudo acceder al archivo «uid-ossp»: No such file or directory
Línea: 1
Estoy tratando de instalarlo en un equipo de prueba con Win XP y
postgressql 8.4.
El archivo uuid-ossp.dll se encuentra en el directorio C:\Archivos de
programa\PostgreSQL\8.4\lib
¿Que puede estar pasando?
Gracias,
El día 24 de junio de 2010 13:28, Alvaro Herrera
<alvherre(at)commandprompt(dot)com> escribió:
> Excerpts from Sergio Valdes Hurtado's message of jue jun 24 12:58:47 -0400 2010:
>> Estimados,
>> necesito crear una tabla que tenga un Id único e irrepetible y si bien
>> es cierto que podría usar el tipo de dato serial, quiero usar otro
>> distinto y que me genere identificadores como el siguiente:
>> 3ED636BFBFCB4DD6ACA81DBC0C0BA6A2
>> ¿Existe algún tipo de dato que se pueda usar o una función de
>> postgresql que genere datos de ese tipo?
>
> Quizás el módulo contrib/uuid-ossp te ayude a generar IDs. El tipo de
> dato "uuid" viene integrado en Postgres.
>
> --
> Álvaro Herrera <alvherre(at)commandprompt(dot)com>
> The PostgreSQL Company - Command Prompt, Inc.
> PostgreSQL Replication, Consulting, Custom Development, 24x7 support
>
From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
---|---|
To: | Sergio Valdes Hurtado <svh(dot)pgsql(at)gmail(dot)com> |
Cc: | Lista PostgreSql <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Creación de id |
Date: | 2010-06-24 19:07:10 |
Message-ID: | [email protected] |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
Excerpts from Sergio Valdes Hurtado's message of jue jun 24 15:02:31 -0400 2010:
> Estoy siguiendo el consejo de alvaro y trato de instalar uuid-ossp, y
> para ello ejecuto las query del contrib y me arrojan errores.
> Adjunto una de las querys y el error:
>
> CREATE OR REPLACE FUNCTION uuid_nil()
> RETURNS uuid
> AS '$libdir/uuid-ossp', 'uuid_nil'
> IMMUTABLE STRICT LANGUAGE C;
>
> [Error] Líneas de script: 1-4 ----------------------
> ERROR: no se pudo acceder al archivo «uid-ossp»: No such file or directory
> Línea: 1
Pareciera que le falta una "u" a "uuid" ...
--
Álvaro Herrera <alvherre(at)commandprompt(dot)com>
The PostgreSQL Company - Command Prompt, Inc.
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
From: | Sergio Valdes Hurtado <svh(dot)pgsql(at)gmail(dot)com> |
---|---|
To: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
Cc: | Lista PostgreSql <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: [pgsql-es-ayuda] Creación de id |
Date: | 2010-06-24 19:21:42 |
Message-ID: | [email protected] |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
El día 24 de junio de 2010 15:07, Alvaro Herrera
<alvherre(at)commandprompt(dot)com> escribió:
> Excerpts from Sergio Valdes Hurtado's message of jue jun 24 15:02:31 -0400 2010:
>> Estoy siguiendo el consejo de alvaro y trato de instalar uuid-ossp, y
>> para ello ejecuto las query del contrib y me arrojan errores.
>> Adjunto una de las querys y el error:
>>
>> CREATE OR REPLACE FUNCTION uuid_nil()
>> RETURNS uuid
>> AS '$libdir/uuid-ossp', 'uuid_nil'
>> IMMUTABLE STRICT LANGUAGE C;
>>
>> [Error] Líneas de script: 1-4 ----------------------
>> ERROR: no se pudo acceder al archivo «uid-ossp»: No such file or directory
>> Línea: 1
>
> Pareciera que le falta una "u" a "uuid" ...
>
En realidad es solo en el mensaje, ya que en la query está bien
escrito el nombre.
¿Como puedo saber que valor toma $libdir?
From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
---|---|
To: | Sergio Valdes Hurtado <svh(dot)pgsql(at)gmail(dot)com> |
Cc: | Lista PostgreSql <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Creación de id |
Date: | 2010-06-24 19:37:36 |
Message-ID: | [email protected] |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
Excerpts from Sergio Valdes Hurtado's message of jue jun 24 15:21:42 -0400 2010:
> El día 24 de junio de 2010 15:07, Alvaro Herrera
> <alvherre(at)commandprompt(dot)com> escribió:
> > Excerpts from Sergio Valdes Hurtado's message of jue jun 24 15:02:31 -0400 2010:
> >> Estoy siguiendo el consejo de alvaro y trato de instalar uuid-ossp, y
> >> para ello ejecuto las query del contrib y me arrojan errores.
> >> Adjunto una de las querys y el error:
> >>
> >> CREATE OR REPLACE FUNCTION uuid_nil()
> >> RETURNS uuid
> >> AS '$libdir/uuid-ossp', 'uuid_nil'
> >> IMMUTABLE STRICT LANGUAGE C;
> >>
> >> [Error] Líneas de script: 1-4 ----------------------
> >> ERROR: no se pudo acceder al archivo «uid-ossp»: No such file or directory
> >> Línea: 1
> >
> > Pareciera que le falta una "u" a "uuid" ...
> >
> En realidad es solo en el mensaje, ya que en la query está bien
> escrito el nombre.
> ¿Como puedo saber que valor toma $libdir?
Creo que con pg_config --libdir podrías saberlo, pero no sé si funciona
bien en Windows.
Yo me preocuparía por la falta de la u en el mensaje de error; no creo
que sea un mero accidente. Quizás quiere decir que la query no está
correcta. ¿Estás seguro que estás pasando $libdir/uuid-ossp y no
$libdir\uuid-ossp? Si estás usando \ como separador, deberías
duplicarlo, $libdir\\uuid-ossp (hurra Microsoft por usar un delimitador
poco adecuado)
--
Álvaro Herrera <alvherre(at)commandprompt(dot)com>
The PostgreSQL Company - Command Prompt, Inc.
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
From: | Sergio Valdes Hurtado <svh(dot)pgsql(at)gmail(dot)com> |
---|---|
To: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
Cc: | Lista PostgreSql <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: [pgsql-es-ayuda] Creación de id |
Date: | 2010-06-24 19:45:05 |
Message-ID: | [email protected] |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
El día 24 de junio de 2010 15:37, Alvaro Herrera
<alvherre(at)commandprompt(dot)com> escribió:
> Excerpts from Sergio Valdes Hurtado's message of jue jun 24 15:21:42 -0400 2010:
>> El día 24 de junio de 2010 15:07, Alvaro Herrera
>> <alvherre(at)commandprompt(dot)com> escribió:
>> > Excerpts from Sergio Valdes Hurtado's message of jue jun 24 15:02:31 -0400 2010:
>> >> Estoy siguiendo el consejo de alvaro y trato de instalar uuid-ossp, y
>> >> para ello ejecuto las query del contrib y me arrojan errores.
>> >> Adjunto una de las querys y el error:
>> >>
>> >> CREATE OR REPLACE FUNCTION uuid_nil()
>> >> RETURNS uuid
>> >> AS '$libdir/uuid-ossp', 'uuid_nil'
>> >> IMMUTABLE STRICT LANGUAGE C;
>> >>
>> >> [Error] Líneas de script: 1-4 ----------------------
>> >> ERROR: no se pudo acceder al archivo «uid-ossp»: No such file or directory
>> >> Línea: 1
>> >
>> > Pareciera que le falta una "u" a "uuid" ...
>> >
>> En realidad es solo en el mensaje, ya que en la query está bien
>> escrito el nombre.
>> ¿Como puedo saber que valor toma $libdir?
>
> Creo que con pg_config --libdir podrías saberlo, pero no sé si funciona
> bien en Windows.
>
> Yo me preocuparía por la falta de la u en el mensaje de error; no creo
> que sea un mero accidente. Quizás quiere decir que la query no está
> correcta. ¿Estás seguro que estás pasando $libdir/uuid-ossp y no
> $libdir\uuid-ossp? Si estás usando \ como separador, deberías
> duplicarlo, $libdir\\uuid-ossp (hurra Microsoft por usar un delimitador
> poco adecuado)
>
Alvaro,
cambie el / de la función por un \\ y funcionó perfecto.
Tal como tu dices "hurra Microsoft".
Gracias por tu ayuda
--
Sergio Valdés H.