Re: Index selection (and partial index) for BYTEA field - Mailing list pgsql-general

From Tom Lane
Subject Re: Index selection (and partial index) for BYTEA field
Date
Msg-id 24545.1079710843@sss.pgh.pa.us
Whole thread Raw
In response to Index selection (and partial index) for BYTEA field  (David Garamond <lists@zara.6.isreserved.com>)
Responses Re: Index selection (and partial index) for BYTEA field
List pgsql-general
David Garamond <lists@zara.6.isreserved.com> writes:
> explain tells me it is using the partial index. But when I create
> partial index on the id column (BYTEA):
>   create unique index i_partition_id_000 on partition(id)
>   where id like '\\000%';

>   explain select * from partition where id like '\\000\\001%';
> says the query is using the PK index, not the partial index. Why is this so?

The partial index matcher is not omniscient.  It knows a few things
about btree-compatible comparison operators, but nothing about LIKE.
Accordingly, this partial index will only get matched to queries that
contain *exactly* "id like '\\000%'" in their WHERE clauses.

            regards, tom lane

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: "People near me" query
Next
From: Richard Huxton
Date:
Subject: Re: transactions in plpgsql