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

From David Garamond
Subject Re: Index selection (and partial index) for BYTEA field
Date
Msg-id 405BB5CF.5080903@zara.6.isreserved.com
Whole thread Raw
In response to Re: Index selection (and partial index) for BYTEA field  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Index selection (and partial index) for BYTEA field
List pgsql-general
Tom Lane wrote:
>>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.

So I guess there's not a way that the partial index can be used instead
of the PK index (I couldn't find in FAQ/archives whether one can force
usage of one index over another).

--
dave


pgsql-general by date:

Previous
From: Ericson Smith
Date:
Subject: Re: "People near me" query
Next
From: Jan Wieck
Date:
Subject: Re: does this look more like a possible bug or more like