I was looking for an answer to the same problem posted a while back (sorry, not sure how to join that thread):
Thanks. pg_trgm looks interesting, but after installing the pg_trgm.sql, I get error messages when following the documentation. sggeeorg=> create index test_idx on test using gist(columnname gist_trgm_ops); ERROR: operator class "gist_trgm_ops" does not exist for access method "gist" STATEMENT: create index test_idx on test using gist(columnname gist_trgm_ops); ERROR: operator class "gist_trgm_ops" does not exist for access method "gist" On Sun, Jan 30, 2011 at 10:36 AM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote: > Matt Warner <matt(at)warnertechnology(dot)com> writes: > > If I understand this, it looks like this approach allows me to match the > > beginnings and endings of words, but not the middle sections. > > Yeah, probably. You might consider using contrib/pg_trgm instead if > you need arbitrary substrings. > > regards, tom lane >
I just ran into the same problem using pgsql 9.1 on both Windows and Linux. It happened when I tried
to create an index on a new table in a new schema of a database that already had the pg_trgm extension
loaded. The only way I could get the index to build was to first drop the extension and then re-add it.
Once I re-added the extension, I was then able to create the index.