Escolha uma Página

O Problema

A língua portuguesa gera diversos problemas para os DBA, um dos mais comuns esta no fato dos usuários querem digitar Joao (sem acento) em uma caixa de busca e querer que o banco localizar o João (com acento), para solucionar este problema no postgres você pode criar uma function que remove os acentos durante as consultas.

A Solução

CREATE OR REPLACE FUNCTION "public"."sem_acentos" (VARCHAR) RETURNS VARCHAR AS
$body$
SELECT TRANSLATE($1, 'áéíóúàèìòùãõâêîôôäëïöüçÁÉÍÓÚÀÈÌÒÙÃÕÂÊÎÔÛÄËÏÖÜÇ', 'aeiouaeiouaoaeiooaeioucAEIOUAEIOUAOAEIOOAEIOUC')
$body$
LANGUAGE 'sql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER;

Como Usar

SELECT pss_telefone WHERE sem_acentos(pss_nome) LIKE sem_acentos('%joao%')

Essa consulta irá retornar todos os João, com ou sem acento.