Re: [pgsql-es-ayuda] [psql-es-ayuda] ordenamiento con Ñ

2016-06-30 Por tema Gerardo Herzig
- Mensaje original -
> De: "Eveling Velásquez" 
> Para: "Gerardo Herzig" 
> CC: "Pgsql-es-ayuda" 
> Enviados: Jueves, 30 de Junio 2016 15:05:24
> Asunto: Re: [pgsql-es-ayuda] [psql-es-ayuda] ordenamiento con Ñ
> 
> 
> 
> Al ejecutar la sentencia
> with apellidos (apellido) as (values ('ALVARES'),
> ('DE LA CRUZ'),
> ('DE TRINIDAD'),
> ('FONSECA'),
> ('MENDOZA'),
> ('NORORI'),
> ('OSORIO'),
> ('ÑURINDA'),
> ('ÑAMENDI'),
> ('PEREZ'),
> ('PEÑA')
> 
> )select * from apellidos order by apellido collate "es_AR";
> 
> 
> el resultado es:
> 
> 
> "ALVARES"
> "DE LA CRUZ"
> "DE TRINIDAD"
> "FONSECA"
> "MENDOZA"
> "ÑAMENDI"
> "NORORI"
> "ÑURINDA"
> "OSORIO"
> "PEÑA"
> "PEREZ"
> 
> 
> 
Me huele a que tenes un problema con las bilbiotecas "locale" en ese server.
Tenes acceso a una consola en ese server? De ser asi, create un archivo de 
texto con esos apellidos, y luego ordenalos con el comando sort de linux. Algo 
asi:
root@admin-server:~# cat /tmp/archivo.txt 
ALVARES
DE LA CRUZ
DE TRINIDAD
ÑURINDA
FONSECA
MENDOZA
NORORI
OSORIO

root@admin-server:~# sort /tmp/archivo.txt 
ALVARES
DE LA CRUZ
DE TRINIDAD
FONSECA
MENDOZA
NORORI
ÑURINDA
OSORIO

Y, tambien corroborar cuales locale estas usando a nivel SO:
root@admin-server:~# locale
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE=es_ES.UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE=en_US.UTF-8
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

Que te sale a vos?



-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda


Re: [pgsql-es-ayuda] hash

2016-06-30 Por tema Alvaro Herrera
Guillermo E. Villanueva escribió:

> Buenas, hace unas horas que busco por la web pero no encontré lo que quería
> Conocen alguna forma de generar en plpgsql un hash que no sea demasiado
> largo? no me sirve md5() ya que los hash son muy grandes y en pgcrypto no
> pude encontrar uno que me sirva.
> Necesito generar hash de números enteros los cualesde no tienen mas de 12
> dígitos, me gustaría que el hash no supere ese tamaño y puede contener
> letras y números. ¿Invento algo yo? ¿Alguna idea?
> Desde ya muchas gracias!

esto no es exactamente lo que quieres pero te puede dar ideas:
https://wiki.postgresql.org/wiki/Pseudo_encrypt

-- 
Álvaro Herrerahttp://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda


Re: [pgsql-es-ayuda] hash

2016-06-30 Por tema Guillermo E. Villanueva
Ya estuve haciendo pruebas con pgcrypto, lo indiqué en mi mensaje y mas
vale que si hice búsquedas en google antes, igual gracias Horacio.
Quiero obtener hash para números enteros los cuales serán utilizados como
sellos verificadores.
Ya lo tengo resuelto, voy a truncar los hash md5 . He probado en 30
millones de combinaciones y no tengo colisiones, suficiente para lo que
necesito.
Gracias

El 30 de junio de 2016, 15:29, Horacio Miranda 
escribió:

> Google, hash 12 characters postgresql
> Primer link, https://www.postgresql.org/docs/9.3/static/pgcrypto.html
> des
>
> Ahora no cacho para que quieres un hash ? que quieres hacer ? en ves de
> preguntar algo especifico no es mejor explicar la idea de lo que necesitas
> o el problema que quieres resolver ?
>
>
> On 01/07/2016 4:48 AM, Guillermo E. Villanueva wrote:
>
>> Postgres 9.5
>> Linux
>>
>> Buenas, hace unas horas que busco por la web pero no encontré lo que
>> quería
>> Conocen alguna forma de generar en plpgsql un hash que no sea demasiado
>> largo? no me sirve md5() ya que los hash son muy grandes y en pgcrypto
>> no pude encontrar uno que me sirva.
>> Necesito generar hash de números enteros los cualesde no tienen mas de
>> 12 dígitos, me gustaría que el hash no supere ese tamaño y puede
>> contener letras y números. ¿Invento algo yo? ¿Alguna idea?
>> Desde ya muchas gracias!
>>
>> Saludos
>>
>


Re: [pgsql-es-ayuda] hash

2016-06-30 Por tema Horacio Miranda

Google, hash 12 characters postgresql
Primer link, https://www.postgresql.org/docs/9.3/static/pgcrypto.html
des

Ahora no cacho para que quieres un hash ? que quieres hacer ? en ves de 
preguntar algo especifico no es mejor explicar la idea de lo que 
necesitas o el problema que quieres resolver ?


On 01/07/2016 4:48 AM, Guillermo E. Villanueva wrote:

Postgres 9.5
Linux

Buenas, hace unas horas que busco por la web pero no encontré lo que quería
Conocen alguna forma de generar en plpgsql un hash que no sea demasiado
largo? no me sirve md5() ya que los hash son muy grandes y en pgcrypto
no pude encontrar uno que me sirva.
Necesito generar hash de números enteros los cualesde no tienen mas de
12 dígitos, me gustaría que el hash no supere ese tamaño y puede
contener letras y números. ¿Invento algo yo? ¿Alguna idea?
Desde ya muchas gracias!

Saludos


-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda


Re: [pgsql-es-ayuda] [psql-es-ayuda] ordenamiento con Ñ

2016-06-30 Por tema Eveling Velásquez
Al ejecutar la sentenciawith apellidos (apellido) as (values ('ALVARES'), ('DE 
LA CRUZ'),('DE 
TRINIDAD'),('FONSECA'),('MENDOZA'),('NORORI'),('OSORIO'),('ÑURINDA'),('ÑAMENDI'),('PEREZ'),('PEÑA'))select
 * from apellidos order by apellido collate "es_AR";
el resultado es:
"ALVARES""DE LA CRUZ""DE 
TRINIDAD""FONSECA""MENDOZA""ÑAMENDI""NORORI""ÑURINDA""OSORIO""PEÑA""PEREZ"



 


 

El Jueves, 30 de junio, 2016 11:24:57, Gerardo Herzig  
escribió:
 

 

- Mensaje original -
> De: "Eveling Velásquez" 
> Para: "Gerardo Herzig" 
> CC: "Pgsql-es-ayuda" 
> Enviados: Jueves, 30 de Junio 2016 13:32:59
> Asunto: Re: [pgsql-es-ayuda] [psql-es-ayuda] ordenamiento con Ñ
> 
> 
> 
> Centos 7
> Version PG 9.5
> 
> client_encoding UTF8
> server_encoding UTF8
> lc_collate en_US.UTF-8
> lc_ctype en_US.UTF-8
> el tipo de dato de la columna es character varying
> 
> 
> 
> 
> Use collate "es_AR" y el orden es el misno, la Ñ al final no despues
> d la N
> 
> 
> Eveling Velasquez
> 
> 
> 
> 
> 
> 
> 
> 
> El Jueves, 30 de junio, 2016 9:54:51, Gerardo Herzig
>  escribió:
> 
> 
> 
> > 
> > Buen dia
> > Necesito hacer un ordenamiento como el siguiente:
> > 
> > 
> > ALVARES
> > DE LA CRUZ
> > DE TRINIDAD
> > FONSECA
> > MENDOZA
> > NORORI
> > ÑURINDA
> > OSORIO
> > 
> > 
> > hago un order by collate "C" y el resultado es
> > 
> > 
> > 
> > ALVARES
> > DE LA CRUZ
> > DE TRINIDAD
> > FONSECA
> > MENDOZA
> > NORORI
> > OSORIO
> > 
> > ÑURINDA
> > 
> > 
> > 
> > quedando la letra Ñ al final, debiendo quedar después de la N
> 
> Si, es el comportamiento esperado para la Collation "C" (de acuerdo a
> las docs):
> """
> On all platforms, the collations named default, C, and POSIX are
> available. Additional collations may be available depending on
> operating system support. The default collation selects the
> LC_COLLATE and LC_CTYPE values specified at database creation time.
> The C and POSIX collations both specify "traditional C" behavior, in
> which only the ASCII letters "A" through "Z" are treated as letters,
> and sorting is done strictly by character code byte values.
> """
> 
> Tenes que especificar una collation que respete las normas de
> ordenamiento correspondiente a tu idioma:
> 
> postgres=# with apellidos (apellido) as (values ('ALVARES'),
> ('DE LA CRUZ'),
> ('DE TRINIDAD'),
> ('FONSECA'),
> ('MENDOZA'),
> ('NORORI'),
> ('OSORIO'),
> ('ÑURINDA')
> 
> )
> 
> select * from apellidos order by apellido collate "es_AR";
> apellido
> 
> -
> ALVARES
> DE LA CRUZ
> DE TRINIDAD
> FONSECA
> MENDOZA
> NORORI
> ÑURINDA
> OSORIO
> (8 filas)
> 
> Por cierto, por que usas collation "C"? Cual es la default collation
> para la base en la que estas trabajando?
> 
> Gerardo
> 
Mmm perdon, copiaste exactamente la misma query que hice yo? No podra ser que 
tengas algun caracter raro (no visible) dentro de esos string?

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

  

Re: [pgsql-es-ayuda] [psql-es-ayuda] ordenamiento con Ñ

2016-06-30 Por tema Gerardo Herzig


- Mensaje original -
> De: "Eveling Velásquez" 
> Para: "Gerardo Herzig" 
> CC: "Pgsql-es-ayuda" 
> Enviados: Jueves, 30 de Junio 2016 13:32:59
> Asunto: Re: [pgsql-es-ayuda] [psql-es-ayuda] ordenamiento con Ñ
> 
> 
> 
> Centos 7
> Version PG 9.5
> 
> client_encoding UTF8
> server_encoding UTF8
> lc_collate en_US.UTF-8
> lc_ctype en_US.UTF-8
> el tipo de dato de la columna es character varying
> 
> 
> 
> 
> Use collate "es_AR" y el orden es el misno, la Ñ al final no despues
> d la N
> 
> 
> Eveling Velasquez
> 
> 
> 
> 
> 
> 
> 
> 
> El Jueves, 30 de junio, 2016 9:54:51, Gerardo Herzig
>  escribió:
> 
> 
> 
> > 
> > Buen dia
> > Necesito hacer un ordenamiento como el siguiente:
> > 
> > 
> > ALVARES
> > DE LA CRUZ
> > DE TRINIDAD
> > FONSECA
> > MENDOZA
> > NORORI
> > ÑURINDA
> > OSORIO
> > 
> > 
> > hago un order by collate "C" y el resultado es
> > 
> > 
> > 
> > ALVARES
> > DE LA CRUZ
> > DE TRINIDAD
> > FONSECA
> > MENDOZA
> > NORORI
> > OSORIO
> > 
> > ÑURINDA
> > 
> > 
> > 
> > quedando la letra Ñ al final, debiendo quedar después de la N
> 
> Si, es el comportamiento esperado para la Collation "C" (de acuerdo a
> las docs):
> """
> On all platforms, the collations named default, C, and POSIX are
> available. Additional collations may be available depending on
> operating system support. The default collation selects the
> LC_COLLATE and LC_CTYPE values specified at database creation time.
> The C and POSIX collations both specify "traditional C" behavior, in
> which only the ASCII letters "A" through "Z" are treated as letters,
> and sorting is done strictly by character code byte values.
> """
> 
> Tenes que especificar una collation que respete las normas de
> ordenamiento correspondiente a tu idioma:
> 
> postgres=# with apellidos (apellido) as (values ('ALVARES'),
> ('DE LA CRUZ'),
> ('DE TRINIDAD'),
> ('FONSECA'),
> ('MENDOZA'),
> ('NORORI'),
> ('OSORIO'),
> ('ÑURINDA')
> 
> )
> 
> select * from apellidos order by apellido collate "es_AR";
> apellido
> 
> -
> ALVARES
> DE LA CRUZ
> DE TRINIDAD
> FONSECA
> MENDOZA
> NORORI
> ÑURINDA
> OSORIO
> (8 filas)
> 
> Por cierto, por que usas collation "C"? Cual es la default collation
> para la base en la que estas trabajando?
> 
> Gerardo
> 
Mmm perdon, copiaste exactamente la misma query que hice yo? No podra ser que 
tengas algun caracter raro (no visible) dentro de esos string?

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda


[pgsql-es-ayuda] hash

2016-06-30 Por tema Guillermo E. Villanueva
Postgres 9.5
Linux

Buenas, hace unas horas que busco por la web pero no encontré lo que quería
Conocen alguna forma de generar en plpgsql un hash que no sea demasiado
largo? no me sirve md5() ya que los hash son muy grandes y en pgcrypto no
pude encontrar uno que me sirva.
Necesito generar hash de números enteros los cualesde no tienen mas de 12
dígitos, me gustaría que el hash no supere ese tamaño y puede contener
letras y números. ¿Invento algo yo? ¿Alguna idea?
Desde ya muchas gracias!

Saludos


Re: [pgsql-es-ayuda] [psql-es-ayuda] ordenamiento con Ñ

2016-06-30 Por tema Eveling Velásquez
estaba usando collate C, debido a que si no lo pongo, el ordenamiento queda 
asiALVARES
DE LA CRUZ
DELGADODE TRINIDAD FONSECAMENDOZA
Debiendo estar los q marque en negristas, juntos. al usar es_AR los deja de la 
manera anterior 
Eveling Velasquez

 

El Jueves, 30 de junio, 2016 10:32:59, Eveling Velásquez 
 escribió:
 

 Centos 7Version PG 9.5client_encoding     UTF8server_encoding UTF8lc_collate 
en_US.UTF-8lc_ctype en_US.UTF-8el tipo de dato de la columna es character 
varying

Use collate "es_AR" y el orden es el misno, la Ñ al final no despues d la N
Eveling Velasquez

 

El Jueves, 30 de junio, 2016 9:54:51, Gerardo Herzig  
escribió:
 

 > 
> Buen dia
> Necesito hacer un ordenamiento como el siguiente:
> 
> 
> ALVARES
> DE LA CRUZ
> DE TRINIDAD
> FONSECA
> MENDOZA
> NORORI
> ÑURINDA
> OSORIO
> 
> 
> hago un order by collate "C" y el resultado es
> 
> 
> 
> ALVARES
> DE LA CRUZ
> DE TRINIDAD
> FONSECA
> MENDOZA
> NORORI
> OSORIO
> 
> ÑURINDA
> 
> 
> 
> quedando la letra Ñ al final, debiendo quedar después de la N

Si, es el comportamiento esperado para la Collation "C" (de acuerdo a las docs):
"""
On all platforms, the collations named default, C, and POSIX are available. 
Additional collations may be available depending on operating system support. 
The default collation selects the LC_COLLATE and LC_CTYPE values specified at 
database creation time. The C and POSIX collations both specify "traditional C" 
behavior, in which only the ASCII letters "A" through "Z" are treated as 
letters, and sorting is done strictly by character code byte values.
"""

Tenes que especificar una collation que respete las normas de ordenamiento 
correspondiente a tu idioma:

postgres=# with apellidos (apellido) as (values ('ALVARES'),
('DE LA CRUZ'),
('DE TRINIDAD'),
('FONSECA'),
('MENDOZA'),
('NORORI'),
('OSORIO'),
('ÑURINDA')

)

select * from apellidos order by apellido collate "es_AR";
  apellido  
-
 ALVARES
 DE LA CRUZ
 DE TRINIDAD
 FONSECA
 MENDOZA
 NORORI
 ÑURINDA
 OSORIO
(8 filas)

Por cierto, por que usas collation "C"? Cual es la default collation para la 
base en la que estas trabajando?

Gerardo

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

   

  

Re: [pgsql-es-ayuda] [psql-es-ayuda] ordenamiento con Ñ

2016-06-30 Por tema Eveling Velásquez
Centos 7Version PG 9.5client_encoding     UTF8server_encoding UTF8lc_collate 
en_US.UTF-8lc_ctype en_US.UTF-8el tipo de dato de la columna es character 
varying

Use collate "es_AR" y el orden es el misno, la Ñ al final no despues d la N
Eveling Velasquez

 

El Jueves, 30 de junio, 2016 9:54:51, Gerardo Herzig  
escribió:
 

 > 
> Buen dia
> Necesito hacer un ordenamiento como el siguiente:
> 
> 
> ALVARES
> DE LA CRUZ
> DE TRINIDAD
> FONSECA
> MENDOZA
> NORORI
> ÑURINDA
> OSORIO
> 
> 
> hago un order by collate "C" y el resultado es
> 
> 
> 
> ALVARES
> DE LA CRUZ
> DE TRINIDAD
> FONSECA
> MENDOZA
> NORORI
> OSORIO
> 
> ÑURINDA
> 
> 
> 
> quedando la letra Ñ al final, debiendo quedar después de la N

Si, es el comportamiento esperado para la Collation "C" (de acuerdo a las docs):
"""
On all platforms, the collations named default, C, and POSIX are available. 
Additional collations may be available depending on operating system support. 
The default collation selects the LC_COLLATE and LC_CTYPE values specified at 
database creation time. The C and POSIX collations both specify "traditional C" 
behavior, in which only the ASCII letters "A" through "Z" are treated as 
letters, and sorting is done strictly by character code byte values.
"""

Tenes que especificar una collation que respete las normas de ordenamiento 
correspondiente a tu idioma:

postgres=# with apellidos (apellido) as (values ('ALVARES'),
('DE LA CRUZ'),
('DE TRINIDAD'),
('FONSECA'),
('MENDOZA'),
('NORORI'),
('OSORIO'),
('ÑURINDA')

)

select * from apellidos order by apellido collate "es_AR";
  apellido  
-
 ALVARES
 DE LA CRUZ
 DE TRINIDAD
 FONSECA
 MENDOZA
 NORORI
 ÑURINDA
 OSORIO
(8 filas)

Por cierto, por que usas collation "C"? Cual es la default collation para la 
base en la que estas trabajando?

Gerardo

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

  

Re: [pgsql-es-ayuda] [psql-es-ayuda] ordenamiento con Ñ

2016-06-30 Por tema Gerardo Herzig
> 
> Buen dia
> Necesito hacer un ordenamiento como el siguiente:
> 
> 
> ALVARES
> DE LA CRUZ
> DE TRINIDAD
> FONSECA
> MENDOZA
> NORORI
> ÑURINDA
> OSORIO
> 
> 
> hago un order by collate "C" y el resultado es
> 
> 
> 
> ALVARES
> DE LA CRUZ
> DE TRINIDAD
> FONSECA
> MENDOZA
> NORORI
> OSORIO
> 
> ÑURINDA
> 
> 
> 
> quedando la letra Ñ al final, debiendo quedar después de la N

Si, es el comportamiento esperado para la Collation "C" (de acuerdo a las docs):
"""
On all platforms, the collations named default, C, and POSIX are available. 
Additional collations may be available depending on operating system support. 
The default collation selects the LC_COLLATE and LC_CTYPE values specified at 
database creation time. The C and POSIX collations both specify "traditional C" 
behavior, in which only the ASCII letters "A" through "Z" are treated as 
letters, and sorting is done strictly by character code byte values.
"""

Tenes que especificar una collation que respete las normas de ordenamiento 
correspondiente a tu idioma:

postgres=# with apellidos (apellido) as (values ('ALVARES'),
('DE LA CRUZ'),
('DE TRINIDAD'),
('FONSECA'),
('MENDOZA'),
('NORORI'),
('OSORIO'),
('ÑURINDA')

)

select * from apellidos order by apellido collate "es_AR";
  apellido   
-
 ALVARES
 DE LA CRUZ
 DE TRINIDAD
 FONSECA
 MENDOZA
 NORORI
 ÑURINDA
 OSORIO
(8 filas)

Por cierto, por que usas collation "C"? Cual es la default collation para la 
base en la que estas trabajando?

Gerardo

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda


[pgsql-es-ayuda] [psql-es-ayuda] ordenamiento con Ñ

2016-06-30 Por tema Eveling Velásquez
Buen diaNecesito hacer un ordenamiento como el siguiente:
ALVARESDE LA CRUZDE TRINIDADFONSECAMENDOZANORORIÑURINDAOSORIO
Centos 7Version PG 9.5client_encoding     UTF8server_encoding UTF8lc_collate 
en_US.UTF-8lc_ctype en_US.UTF-8el tipo de dato de la columna es character 
varying
hago un order by collate "C" y el resultado es 
ALVARESDE LA CRUZDE TRINIDADFONSECAMENDOZANORORIOSORIO
ÑURINDA

quedando la letra Ñ al final, debiendo quedar después de la N
Gracias por sus comentarios