Re: case-insensitive Index

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Verena Ruff" <lists(at)triosolutions(dot)at>
Cc: pgsql-novice(at)postgresql(dot)org
Subject: Re: case-insensitive Index
Date: 2006-07-19 14:53:58
Message-ID: 26019.1153320838@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

"Verena Ruff" <lists(at)triosolutions(dot)at> writes:
> EXPLAIN SELECT * FROM kundepersonhc WHERE UPPER(pers_nachname) LIKE
> UPPER('me%');
> says that a seq scan is done.

> I used this statement to define the index:
> CREATE INDEX kundepersonhc_upper_pers_nachname ON kundepersonhc
> (UPPER(pers_nachname));

If your locale is not C then you'd need to specify a special index
opclass while creating the index in order to let it support LIKE
queries, eg

CREATE INDEX kundepersonhc_upper_pers_nachname ON kundepersonhc
(UPPER(pers_nachname) text_pattern_ops);

http://www.postgresql.org/docs/8.1/static/indexes-opclass.html

regards, tom lane

In response to

Responses

Browse pgsql-novice by date

  From Date Subject
Next Message Verena Ruff 2006-07-19 15:43:41 Re: case-insensitive Index
Previous Message Tom Lane 2006-07-19 14:49:24 Re: Query optimization / automatic re-ordering of tables