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
