A pesquisa de texto completo é boa para encontrar palavras, não substrings.
Para pesquisas de substring, é melhor usar
like '%don%'
com pg_trgm
extensão disponível no PostgreSQL 9.1 e using gin (column_name gin_trgm_ops)
ou using gist (column_name gist_trgm_ops)
índices. Mas seu índice seria muito grande (até várias vezes maior que sua tabela) e o desempenho de gravação não seria muito bom. Há um exemplo muito bom de usar pg_trgm para pesquisa de substring em selecione * do blog do depesz .