Re: [pgsql-es-ayuda] [psql-es-ayuda] ordenamiento con Ñ
- 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
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
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 Mirandaescribió: > 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
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 Ñ
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 Herzigescribió: - 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 Ñ
- 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
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 Ñ
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ásquezescribió: 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 Ñ
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 Herzigescribió: > > 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 Ñ
> > 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 Ñ
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