I'm running PostgreSQL 9.3 on Mac OS X Yosemite.
I try to create an unaccent lowercase trigram index. To achieve it I did this:
mydb=# CREATE EXTENSION pg_trgm SCHEMA public VERSION "1.1";
CREATE EXTENSION unaccent SCHEMA public;
ALTER FUNCTION unaccent(text) IMMUTABLE;
CREATE EXTENSION
CREATE EXTENSION
ALTER FUNCTION
Then I tried to create the index:
mydb=# CREATE INDEX author_label_hun_gin_trgm ON address
USING gin (public.unaccent(lower(label_hun)) gin_trgm_ops);
ERROR: text search dictionary "unaccent" does not exist
... and got this error. If I try to list the available text search dictionaries the unaccent dictionary seems to be there:
mydb=# \dFd
List of text search dictionaries
Schema | Name | Description
------------+-----------------+-----------------------------------------------------------
pg_catalog | danish_stem | snowball stemmer for danish language
pg_catalog | dutch_stem | snowball stemmer for dutch language
pg_catalog | english_stem | snowball stemmer for english language
pg_catalog | finnish_stem | snowball stemmer for finnish language
pg_catalog | french_stem | snowball stemmer for french language
pg_catalog | german_stem | snowball stemmer for german language
pg_catalog | hungarian_stem | snowball stemmer for hungarian language
pg_catalog | italian_stem | snowball stemmer for italian language
pg_catalog | norwegian_stem | snowball stemmer for norwegian language
pg_catalog | portuguese_stem | snowball stemmer for portuguese language
pg_catalog | romanian_stem | snowball stemmer for romanian language
pg_catalog | russian_stem | snowball stemmer for russian language
pg_catalog | simple | simple dictionary: just lower case and check for stopword
pg_catalog | spanish_stem | snowball stemmer for spanish language
pg_catalog | swedish_stem | snowball stemmer for swedish language
pg_catalog | turkish_stem | snowball stemmer for turkish language
public | unaccent |
Any idea what could be wrong here?
search_path? Besides of that, I highly recommend you not executing thatALTER FUNCTION, create your own SQLIMMUTABLEfunction and wrap theunaccentcall on it, this will help on upgrades. – MatheusOl Apr 08 '15 at 16:34