Caro Jota,

Verificando o collate, no postgresql 8.1 o collate esta "C", e no postgresql 
8.3 que instalei no windows xp esta "Portuguese Brasil.1252".
Com os dados como falei, no campo nome tendo dois registros "aaaaaa" e 
"BBBBBB", no servidor que esta com o collate "C" o select com order by nome 
retorna:
"BBBBBBB"
"aaaaaaa"
pq na tabela asc o "B" maiusculo tem um valor menor que o "a" minusculo, por 
isto disse que precisava desabilitar o case sensitive de forma que o banco 
considerasse que "A" tivesse o mesmo valor que o "a", e no servidor que está 
com o collate "Portuguese Brasil.1252" isto acontece, no select retorna o 
seguinte:
"aaaaaa"
"BBBBBB"
Logo consegui o que queria, que era na ordenação ele ignorar se esta escrito 
em maiusculo ou minusculo. Usando o collate "C" letras maiusculas tem valor 
menor que letras minusculas assim como a tabela asc, e no Collate 
"Postgresql Brasil.1252" isto não acontece na ordenação, mas nos testes com 
where nas querys acontece.

Obrigado pela atenção recebida. Consegui o que queria.

Marco Aurélio V. da Silva
Prodata Inf. e Cadastro Ltda.
Fone: (33) 3322-3082
email: [email protected]
msn: [email protected]
----- Original Message ----- 
From: "JotaComm" <[email protected]>
To: "Comunidade PostgreSQL Brasileira" <[email protected]>
Sent: Thursday, June 18, 2009 10:18 AM
Subject: Re: [pgbr-geral] Desabilitar Case Sensitive no Banco de Dados


Olá,

2009/6/18 Marco Aurelio V. da Silva <[email protected]>

> Caro Jota,
>
> É o seguinte, verifiquei os dois bancos de dados, alias instalei um novo 
> no
> meu computador para verificar o locale, no servidor freebsd com a versão
> 8.1
> do postgresql o locale esta com "C", no servidor postgresql 8.3 que
> instalei
> no meu computador com windows xp a diferença é o seguinte, na instalação 
> do
> windows eu marquei para instalar o suporte a idiomas, no locale foi
> colocado
> Portugues do Brasil, que presumo seja o pt_BR (não encontrei o comando
> locale no windows), e no Encoding esta UTF8.


Você pode fazer pelo PostgreSQL:

SHOW lc_collate;

>
> Nestas condições fiz o seguinte teste, criei uma tabela cliente com o 
> campo
> nome do tipo character varyng com tamanho 50, sem nenhum indice. Adicionei
> os valores "aaaaaa" e "BBBBBBB", ao dar o comando select * from cliente
> order by nome, ai vem o seguinte resultado:
> "aaaaaa"
> "BBBBBB"


Correto. Certo?

>
> Ignorando as letras maiusculas e minusculas. Logo pelo que percebi, se
> criar
> o banco com o locale "pt_BR" e o encoding UTF8 o case sensitive fica
> desabilitado para a ordenação. Mas para os wheres das consultas continua
> valendo.


Como assim ignorando maiúsculas e minúsculas? Isso que não consegui entender
o que você considera que o case senstivie fica desabilitado?

Este problema está relacionado ao locale C(Posix) que você está utilizando?
Se você modificar o locale da versão 8.1 você terá o mesmo comportamento da
sua versão 8.3.

É isso sua dúvida?

>
> Será que deu pra entender a confusão ?
>
> Desde já agradeço a atenção recebida.
>
> Marco Aurélio V. da Silva
> Prodata Inf. e Cadastro Ltda.
> Fone: (33) 3322-3082
> email: [email protected]
> msn: [email protected]
> ----- Original Message -----
> From: "JotaComm" <[email protected]>
> To: "Comunidade PostgreSQL Brasileira" <
> [email protected]>
> Sent: Wednesday, June 17, 2009 9:48 AM
> Subject: Re: [pgbr-geral] Desabilitar Case Sensitive no Banco de Dados
>
>
> Olá,
>
> 2009/6/17 Marco Aurelio V. da Silva <[email protected]>
>
> > Caros Colegas,
> >
> > Gostaria da ajuda no seguinte sentido, precisava desabilitar o case
> > sensitive do banco de dados, para que os indices e as buscas ignorassem 
> > o
> > case sensitive.
>
>
> Como assim desabilitar o case sensitive? Você quer armazenar as 
> informações
> tanto em maiúsculas e minúsculas e no momento de fazer uma pesquisa usando
> índice isso não seja levando em conta?
>
> Como estão criados os índices? Pode mandar a definição de um índice para a
> gente?
>
> >
> > O estranho é que funcionou automaticamente instalando a versão 8.3 em um
> > windows xp, e com a codificação do banco como UTF8 e em um servidor 8.1
> em
> > freebsd com a codificação UTF8 tb, naum funcionou.
> > Ao adicionar no campo nome exemplo os valores: "aaaaaaa" e "BBBBBB", no
> > servidor 8.3 que esta no windows xp o "aaaaaa" aparece antes, mas no 8.1
> > no
> > Freebsd aparece o "BBBBBB" primeiro.
>
>
> Fiquei confuso. Qual a relação disso com a questão que você mencionou 
> antes
> de desabilitar o case sensitive? Se a for conveniente o otimizador irá
> analisar e ver se é melhor a utilização do índice ou não se uma leitura
> sequencial é mais conveniente.
>
> Esse problema do "BBBBB" aparecer antes do "aaaaaa" me parece um problema
> de
> locale.
>
> Você verificou se os locales dos dois servidores são iguais?
>
> Como fazer para ficar igual a este comportamento do 8.3 no windows xp ?
> > Pesquisei a respeito e só encontrei formas de funcionar mandando gravar
> > sempre maiusculo ou minusculo no banco, e utilizando o mesmo artificio
> > para
> > as consultas e testes.
> >
>
> >
> > Desde já agradeço a atenção recebida.
> >
> > Marco Aurélio V. da Silva
> > Prodata Inf. e Cadastro Ltda.
> > Fone: (33) 3322-3082
> > email: [email protected]
> > msn: [email protected]
> >
> > _______________________________________________
> > pgbr-geral mailing list
> > [email protected]
> > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
> >
>
>
> []s
> --
> JotaComm
> http://jotacomm.wordpress.com
> http://www.dextra.com.br/postgres
>
>
>
>
> --------------------------------------------------------------------------------
>
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>


[]s
-- 
JotaComm
http://jotacomm.wordpress.com
http://www.dextra.com.br/postgres



--------------------------------------------------------------------------------


_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a