Re: Regular Expressions, LIKE, and indexes

From: Richard Huxton <dev(at)archonet(dot)com>
To: Travis Whitton <tinymountain(at)gmail(dot)com>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: Regular Expressions, LIKE, and indexes
Date: 2006-11-22 19:20:52
Message-ID: 4564A314.4090504@archonet.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Travis Whitton wrote:
>
> SELECT keyword FROM keywords WHERE keyword like 'foo%';
>
> Are there any other functions that can provide equivalent results while
> using an index, or am going to have drop UTF-8 and recreate my database?

UTF-8 isn't your locale, it's your character set (or encoding). Your
locale is something like en_GB.UTF-8 (for British sorting).

You need to define your indexes in such a way that the LIKE can figure
things out. That means using a special operator-class (so that you
redefine how less-than and greater-than are defined). It takes longer to
explain than to do, so I'll direct you to the relevant "CREATE INDEX"
example in the manuals:
http://www.postgresql.org/docs/8.1/static/indexes-opclass.html

--
Richard Huxton
Archonet Ltd

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message lms 2006-11-22 20:54:11 How to check coding
Previous Message Travis Whitton 2006-11-22 19:10:52 Regular Expressions, LIKE, and indexes