Re: Regex query not using index - Mailing list pgsql-general

From Chris
Subject Re: Regex query not using index
Date
Msg-id 47BBB7BE.80106@gmail.com
Whole thread Raw
In response to Re: Regex query not using index  ("Postgres User" <postgres.developer@gmail.com>)
Responses Re: Regex query not using index
List pgsql-general
Postgres User wrote:
> Thanks, my dumb mistake.
> I need to perform the equivalent of a WHERE clause OR expression using
> regex to match exact strings.
>
> _________________________________________________________________________
>
> this example hits the index:
> select * from eod where name ~ '^BA$'
>
> but when I try to add another possible value to the regex, it does a row scan:
> select * from eod where name ~ ^BA$|^AA$'
>
> both of these statements return the right results, but the 2nd ignores
> the index even though both values are left-anchored.
>
> any workaround- this behavior doesn't seem to make sense

try changing it to

select * from eod where (name ~ '^BA$' or name ~ '^AA$')

though in this example they should both be name = 'XX' rather than regex'es.

--
Postgresql & php tutorials
http://www.designmagick.com/

pgsql-general by date:

Previous
From: Robert Treat
Date:
Subject: Re: postgresql book - practical or something newer?
Next
From: "Postgres User"
Date:
Subject: Re: Regex query not using index