Blz. Eu tenho uma função como esta que você passou e fazendo alguns testes, 
conclui que utilizando a UNACCENT é 50% mais rápido.
Vou ver se atualizo o banco pra versão 9.0
Muito obrigado.

-----Mensagem original-----
De: pgbr-geral-boun...@listas.postgresql.org.br 
[mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Osvaldo Kussama
Enviada em: sábado, 26 de novembro de 2011 12:23
Para: Comunidade PostgreSQL Brasileira
Assunto: Re: [pgbr-geral] RES: Unaccent

Em 26 de novembro de 2011 11:06, Saulo Morais Lara
<sa...@abilityonline.com.br> escreveu:
> Osvaldo, tentei instalar o pacote em um banco criado no pg 8.4 e deu erro
> neste bloco.
>
> CREATE TEXT SEARCH TEMPLATE unaccent (
>        INIT = unaccent_init,
>        LEXIZE = unaccent_lexize
> );
>
> ERROR:  syntax error at or near "TEXT"
> LINE 26: CREATE TEXT SEARCH TEMPLATE unaccent (
>
> É possível mudar a sintaxe para funcionar? Obrigado.
>
> -----Mensagem original-----
> De: pgbr-geral-boun...@listas.postgresql.org.br
> [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Osvaldo
> Kussama
> Enviada em: sexta-feira, 25 de novembro de 2011 18:57
> Para: Comunidade PostgreSQL Brasileira
> Assunto: Re: [pgbr-geral] Unaccent
>
> Em 25 de novembro de 2011 18:06, Saulo Morais Lara
> <sa...@abilityonline.com.br> escreveu:
>> Pessoal esta função so existe a partir do 9? Não encontrei no pacote
> contrib
>> do pg 8.4.
>>
>
>
> Sim, veja "E.8.3.12. Contrib":
> "Add full text dictionary contrib/unaccent (Teodor Sigaev)
> This filtering dictionary removes accents from letters, which makes
> full-text searches over multiple languages much easier. "
>  em:
> http://www.postgresql.org/docs/current/interactive/release-9-0.html
>


Mas a referência que coloquei na mensagem anterior (release notes da
versão 9.0) afirma que só foi implementado na versão 9.0. Não vai
funcionar na versão 8.4.

Alternativamente veja:
http://wiki.postgresql.org/wiki/Strip_accents_from_strings,_and_output_in_lowercase
http://wiki.postgresql.org/wiki/Strip_accents_from_strings
 ou

CREATE FUNCTION sem_acento(text) RETURNS text AS $$
    SELECT 
translate($1,'ÀÁÂÃÄÅĀĂĄÈÉÊËĒĔĖĘĚÌÍÎÏĨĪĮİÒÓÔÕÖØŌŎŐÙÚÛÜŨŪŬŮŰŲàáâãäåāăąèéêëēĕėęěìíîïĩīĭįòóôõöøōŏőùúûüũūŭůųÇçÑñÝýÿĆćĈĉĊċČčĎďĐđĜĝĞğĠġĢģĤĥĦħ',

'AAAAAAAAAEEEEEEEEEIIIIIIIIOOOOOOOOOUUUUUUUUUUaaaaaaaaaeeeeeeeeeiiiiiiiiooooooooouuuuuuuuuCcNnYyyCcCcCcCcDdDdGgGgGgGgHhHh');
$$
LANGUAGE sql IMMUTABLE STRICT;

Osvaldo


Osvaldo
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a