Re: Bug? 8.0 does not use partial index - Mailing list pgsql-hackers

From Greg Stark
Subject Re: Bug? 8.0 does not use partial index
Date
Msg-id 87hdlkwr5y.fsf@stark.xeocode.com
Whole thread Raw
In response to Re: Bug? 8.0 does not use partial index  (John Hansen <john@geeknet.com.au>)
List pgsql-hackers
John Hansen <john@geeknet.com.au> writes:

> > Thanks, but the behaviour seems identical. :(
> 
> odd tho, that I was never able to get null values indexed (index was
> never used) unless I used this approach....

You're mixing up the indexed column with the where clause of a partial index.
They behave differently. 

Null values *are* normally indexed in Postgres. The problem is that the
optimizer doesn't recognize IS NULL as an indexable operation, so they don't
always help unless you do something like you describe above.

But the WHERE clause on partial indexes is another story. The optimizer
recognizes IS NULL as being equivalent to IS NULL so it recognizes that the
partial index is usable just fine.

-- 
greg



pgsql-hackers by date:

Previous
From: Kris Jurka
Date:
Subject: Re: Top-k optimizations?
Next
From: Tom Lane
Date:
Subject: Re: Bug? 8.0 does not use partial index