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