On 21-09-2011 14:59, Danilo Silva wrote:
> Instalei a versão 9.1 em ambiente windows xp.
> Como a nova versão trata o collation?
Collation pode ser especificada por coluna e tabela a partir da 9.1. Em 
versões anteriores ela tinha que ser definida para todo o agrupamento de banco 
de dados.

> É possível criar novos collations? Como?
Sim. Vide CREATE COLLATION [1]. Tenha em mente que o seu sistema operacional 
deve ter essa configuração regional instalada.


> Essas perguntas fazem necessário devido ao problema de consultas em campo que
> possuem acentuação, exemplo: se tenho guardado as strings 'AÇÃO', 'CONSTRUÇÃO'
> e 'CAOS', se efetuar uma select: SELECT campo FROM tabela WHERE campo ILIKE
> '%cao%' => só irá retornar a string 'caos', mas preciso que retorne tudo (com
> e sem acento). Em mysql não tem esse problema a versão na qual testei usa
> collation latin1_swedish_ci.
>
A implementação de collation do PostgreSQL ainda *não* tem suporte para 
comparar cadeias de caracteres sem observar se estão: (i) em maiúsculas ou 
minúsculas e (ii) com acento e sem acento. Você terá que utilizar operadores e 
funções que te auxiliem na normalização das cadeias de caracteres para 
comparação das mesmas (vide por exemplo ILIKE [2], expressões regulares [2] e 
unaccent [3]).


[1] http://www.postgresql.org/docs/current/static/sql-createcollation.html
[2] http://www.postgresql.org/docs/current/static/functions-matching.html
[3] http://www.postgresql.org/docs/current/static/unaccent.html


-- 
    Euler Taveira de Oliveira - Timbira       http://www.timbira.com.br/
    PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a